<var id="fnfpo"><source id="fnfpo"></source></var>
<rp id="fnfpo"></rp>

<em id="fnfpo"><object id="fnfpo"><input id="fnfpo"></input></object></em>
<em id="fnfpo"><acronym id="fnfpo"></acronym></em>
  • <th id="fnfpo"><track id="fnfpo"></track></th>
  • <progress id="fnfpo"><track id="fnfpo"></track></progress>
  • <tbody id="fnfpo"><pre id="fnfpo"></pre></tbody>

  • x
    x

    基于ADSP-BF561的控制信號處理系統

    發布時間:2010-8-2 11:54    發布者:lavida
    關鍵詞: ADSP-BF561 , 控制信號
    某控制信號處理系統中,選用ADSP-BF561作為主控機,外接鍵盤,LCD顯示屏,標準RS232接口,實時時鐘等,通過DSP編程來實現對各個功能模塊控制,同時產生多路數字IO信號。該控制系統還包括電源、時鐘、CPLD、FLASH,JTAG調試器、復位電路等基本組成部分,系統框圖如圖1所示。   

      
    圖1 基于ADSP-BF561控制信號處理系統框圖   

    系統電源模塊選用TPS54350來實現,外圍電路不同RC值,可以構成不同輸出電壓,這里需要產生是5V、3.3V、1.25V三種電壓。時鐘電路由48MHz晶振電路來實現,其輸出作為DSP外圍時鐘和CPLD時鐘。FLASH用于存儲用戶應用程序,JTAG調試口在DSP電路設計中也是必不可少。后面對各個部分一一介紹,特別是對復位電路,數字IO信號產生,以及RS232接口進行詳細介紹。  

    1.鍵盤   

    鍵盤選用是4×4掃描鍵盤,如圖1所示,由BlackfinGPIO接口PF5~PF12來實現。其中,KEY_GP3~KEY_GP0為行線輸入端,初始化為帶上拉電阻輸入口,中斷使能(下降沿觸發);KEY_GP7~KEY_GP4為列線輸出端,初始化為輸出低電平。鍵盤掃描方法同常規掃描鍵盤方法相同。   


    圖 1 掃描鍵盤結構圖   

    2. LCD顯示屏   

    LCD顯示屏采用320x240LCD液晶模塊。320x240液晶模塊配用sed1335驅動接口板,sed1335驅動接口板上配用32KRAM。LCD除了讀寫信號線由Blackfin讀寫信號來控制以外, 8位數據線由Blackfin低8位數據線鎖存輸出,以及其使能信號由BlackfinAMS3控制,LCD地址分配為0x2C000000。電路連接如圖2所示。在對LCD進行控制時,除了要建立在LCD上顯示漢字和英文字庫以外,還要編寫對sed1335底層驅動程序。這可以在LCD自帶驅動程序基礎上,進行代碼移植,把它改寫成適合BF561DSP程序。   


    圖 2 LCD連接示意圖   

    3.實時時鐘   

    控制系統實時時鐘選用了芯片DS1337來實現。DS1337是一個低功耗串行實時時鐘芯片,它有24h/12h制兩種模式,它可以輸出年、月、日、分、時、秒形式。它采用I2C協議,BlackfinPF0和PF1作為I2CCLK和DATA,而PF3作為實時時鐘中斷FLAG,其電路連接示意圖如圖3所示。   


    圖3 實時時鐘電路連接示意圖   

    4.復位電路   

    為了保證DSP在上電或按下復位鍵時能可靠復位,一般加一個復位延時電路,選用MAX708S來完成,如圖4所示。   

      

    圖4 復位電路   

    在上電過程中,RESET信號會在VCC達到穩定電壓后一段時間內(約200ms)保持為高,然后再變低。 信號為RESET“NOT”,即 會相對VCC延時一段時間后再變高,如圖5所示。這樣,在DSP各電源電壓已穩定情況下,DSP復位信號仍為低有效,就可以保證DSP正常復位。   

      
    圖5 上電過程中 信號   

    在上電以后,如果手動按下開關,使得MR上信號由高→低→高,產生一個低脈沖,這時, 管腳上也會輸出一個低脈沖,只是其低電平持續時間比MR上低電平持續時間長200ms左右,以保證DSP復位可靠完成,如圖6所示。   


    圖6 手動復位時 信號   

    5. 數字IO信號產生   

    在該控制系統中,要求產生8路數字IO信號。如果把這8路數字IO信號看成一個8bit數,則需產生一個有限長度非方波編碼信號,如下圖所示。在T0時刻需要產生數字IO信號為STAT0,比如說10010101;在在T1時刻需要產生STAT1,…,在Tn時刻需要產生STATn,而且T0可能不等于T1或Tn,STAT狀態也各不相同。   


    圖7數字IO信號狀態   

    這里選用BF561看門狗定時器(Watchdog Timer)來實現。在看門狗定時器操作中,先將計數值寫入寄存器WDOG_CNT中,然后看門狗定時器自動將WDOG_CNT值寫入寄存器WDOG_STAT。接著通過寄存器WDOG_CTL使能Watchdog Timer,看門狗定時器開始計數,逐次減小WDOG_STAT值,直至為0,這時預先編寫程序事件就會發生。要想輸出一個8bit數據,只需往某地址單元寫數,對應數據線就會寫出該數據。為了把該數據保持一段時間(Tx長度),還需使用鎖存器將該數據鎖住。所以在BF561DSP程序中先定義了數字IO信號對應中斷事件,且中斷優先級較高,這是為了保證定時精確度,防止別事件干擾。   

    register_handler(ik_ivg9, DIO_WDOGA_ISR);   

    然后在中斷事件里,把當前要寫入數據寫到某地址單元上,然后使能Watchdog Timer,再將定時器值寫入WDOG_CNT中。定時器計數是以sclk為基準,程序代碼如下:   

    *pDIO_Data_Port = codes;   
    *pWDOGA_CTL =DISABLE_WDOG;   
    *pWDOGA_CTL |=WDOG_EXPIRED_BIT;   
    *pWDOGA_CNT =times;   
    *pWDOGA_CTL = ENABLE_GPI;   

    codes和times就是當前要產生數字IO編碼和長度。由于是一系列編碼,可以用數組索引形式,將當前值寫入。而我們事先定義DIO_Data_Port地址為0x24000000,這對應BF561AMS1地址空間,所以用AMS1作為鎖存器使能信號,將數據線上數據通過鎖存器以后再輸出,如下圖所示   


    圖8 數字IO鎖存器   

    6.標準RS232接口   

    為了讓控制系統與計算機之間可以進行數據相互傳遞,系統采用MAX3232芯片來實現,如圖9所示:   

      
    圖9 BF561與計算機之間串口通信框圖   

    BF561UART遵循異步串行通信協議,包括:5-8個數據位;1、11/2、2個停止位;有/無奇偶檢驗。而波特率滿足   



    其中,SCLK是DSP系統時鐘頻率,Divisor值介于1~65536,可以由timer寄存器相應值得到,滿足關系式   



    在BF561初始化設置中,將UART設為8bit數據模式,同時將Timer2設置為WDTH_CAP模式,用Timer2去捕獲串口數據變化率,而Timer2位于TMRS8寄存器里,程序初始化代碼如下:   

    *pUART_LCR = WLS(8);   
    *pUART_MCR = LOOP_ENA;   
    *pTMRS8_DISABLE = TIMDIS2;   
    *pTMRS8_STATUS = TRUN2 | TOVL_ERR2 | TIMIL2;   
    *pTIMER2_CONFIG = TIN_SEL | IRQ_ENA | PERIOD_CNT | WDTH_CAP;   
    *pTMRS8_ENABLE = TIMEN2;   
    *pUART_GCTL = UCEN;   

    在程序一開始,就會按照初始化設置進行自動波特率檢測。當有字符輸入時,timer會測量連續2次下降沿寬度,并返回到timer所對應period寄存器里。比如說,如果發送”@”(0x40h)作為自動波特率檢測,發送時包括起始位,總共為8bit,如圖10所示。   


    圖10 自動波特率檢測字符”@”(0x40h)   

    此處period大小如上圖所示,捕獲UART bits為8位,所以得到   

    再根據波特率公式,就可以求得波特率大小。此段程序代碼如下:   
    Period = *pTIMER2_PERIOD; //返回period值   
    Divisor = Period >> 7; //右移7bit就相當于除以16×8   
    BaudRate = SYSCLK/16/divisor; //得到波特率   

    結論   

    整個控制系統是以LCD顯示界面為基礎,按提示進行相應鍵盤操作。經過測試,該系統各部分工作正常,無相互干擾現象。實時時鐘定時精確,可以達到秒級。數字IO輸出波形編碼無亂碼,定時精度可達毫秒級。RS232接口傳輸數據時,以高達115200bit/s波特率傳輸,誤碼率小于5%。該控制系統已成功應用于某雷達系統控制子系統。
    本文地址:http://www.portaltwn.com/thread-18479-1-1.html     【打印本頁】

    本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
    您需要登錄后才可以發表評論 登錄 | 立即注冊

    廠商推薦

    • Microchip視頻專區
    • EtherCAT®和Microchip LAN925x從站控制器介紹培訓教程
    • MPLAB®模擬設計器——在線電源解決方案,加速設計
    • 讓您的模擬設計靈感,化為觸手可及的現實
    • 深度體驗Microchip自動輔助駕駛應用方案——2025巡展開啟報名!
    • 貿澤電子(Mouser)專區
    關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
    電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
    快速回復 返回頂部 返回列表
    精品一区二区三区自拍图片区_国产成人亚洲精品_亚洲Va欧美va国产综合888_久久亚洲国产精品五月天婷