tms320c54x的基本结构_tms320c54xcpu_tms320c54x(3)

电脑杂谈  发布时间:2017-01-31 12:46:41  来源:网络整理

McBSP的采樣率發生器產生適當頻率的時鍾信號,由BCLKX引腳輸出,保證主從設備間的同步數據傳輸。因此必須正確設置DSP的采樣率發生器時鍾源(CLKSM)和時鍾降頻因子(CLKGDV)。根據SPI傳輸協議,必須正確設置數據發送延遲時間(XDATDLY)。由圖4可知MAX3111要求在 SCLK變高之間的半個周期開始傳輸數據。 所以必須為McBSP選擇合適的時鍾方案,即設置McBSP的時鍾停止模式。在本應用中采用McBSP的時鍾停止模式 2(CLKSTP=11b,CLKXP=0),這樣即可保證與MAX3111的時序相配合。 5 DSP的異步通信軟件的設計 考慮到應用係統軟件的可移植性和可讀性,數據傳輸軟件采用C語言進行編寫,這樣,可以利用DSP開發軟件CCS2.0所提供的DSP/BIOS中的芯片支持庫函數(CSL)。CSL提供C語言可調用的DSP外圍接口庫函數,其中包括DMA模塊、McBSP模塊、TIMER模塊等。應用這些庫函數可大大提高程序可讀性,縮短軟件開發周期。在本文所提到的應用中,主要調用MCBSP模塊。數據傳輸軟件主要包括以下幾部分。 (1) McBSP串口初始化 如上所述,在本應用中應將TMS320C54XX DSP的McBSP串行口配置為SI模式,以DSP作為主設備。

表1給出了應設置的寄存器或寄存器位的值,未涉及的寄存器保持其默認值即可。 表1 McBSP設置為SPI模式時相關寄存器值 位名稱位 值描 述所在寄存器 CLKSTP 11b 使能McBSP的時鍾貪婪模式,並使其在SCLK變高之前半周期開始傳輸數據 SPCR1 CLKXP 0 設置BCLKX信號的極性 PCR CLKXM 1 設置BCLKX引腳信號為輸出(SPI主設備) PCR RWDLEN1 000~101b 設置接收數據包的長度(必須與XWDLEN1的值相等) RCR1 XWDLEN1 000~101b 設計發送數據包的長度(必須與RWDLEN1的值相等) XCR1 CLKSM 1 采樣率發生器時鍾源CPU時鍾 SRGR2 CLKGDV 1~255 設置采樣率發生器的將頻因子 SRGR1 FSXM 1 設置BFSX引腳信號為輸出 PCR FSGM 0 在每個數據包傳輸期間,BFSX信號都有效 SRGR2 FSXP 1 設置BFSX信號為低電平有效 PCR XDATDLY 01b 提供正確BFSX信號啟動時間 XCR2 RDATDLY 01b 提供正確的BFSX信號啟動時間 RCR2 根據表1,調用CSL的McBSP配置庫函數即可完成McBSP的初始化。

McBSP_Handle hport0; /*聲明指向McBSP的句柄*/ McBSP_Config PortConfig={ /*定義寄存器設置結構*/ 0x1800, /*設置串口控製寄存器1的值*/ 0x0000, /*設置串口控製寄存器2的值*/ 0x0040, /*設置接收控製寄存器的值*/ … }; hport0=MCBSP_open(0,MCBSP_OPEN_RESET);/*打開第一個McBSP串口*/ MCBSP_config (hport0,%26;amp;PortConfig);/*按結構設置McBSP的各寄存器*/ (2)MAX3111工作模式及波特率設置 在進行通信之前,DSP必須首先根據命令序列格式向MAX3111寫入配置命令字,之後才能進行正確的數據傳輸,如8位數據位、一位停止位、無奇偶校驗位、波特率為115200、使能接收和發送中斷的異步數據傳輸。DSP對MAX3111進行配置的簡要過程為: … McBSP_start(hport0, /*McBSP開始數據傳輸*/ McBSP_SRGR_START|MCBSP_SRGR_FRAMESYNC |McBSP_RCV_START|MCBSP_XMIT_START,0x200 ); while(!McBSP_xrdy(hport0));/*等待發送寄存器為空*/ McBSP_write16(hport0,0x6E0B); /*向MA3111寫入配置命令字*/ … (3)中斷服務程序


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-29727-3.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...