



下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 基于PowerPC的自環(huán)通信系統(tǒng)的BSP設計 常耀斌,鄧中亮 時間:2008年03月26日 字 體: 大 中 小 關鍵詞:<"cblue" " target='_blank'>描述符<"cblue" " target=
2、39;_blank'>串口通信<"cblue" " target='_blank'>接收數(shù)據(jù)<"cblue" " target='_blank'>設備上<"cblue" " target='_blank'>最大 摘要: 針對PowerPC在高速信號和大量數(shù)據(jù)處理中的應用
3、優(yōu)勢,在PowerPC860板的通信處理模塊CPM的SCC3<"cblue" " title="設備上">設備上開發(fā)了板級支持包BSP,使<"cblue" " title="串口通信">串口通信通道SCC3端口實現(xiàn)了HDLC協(xié)議的自環(huán)方式通信,通過SCC3端口發(fā)送數(shù)據(jù)或文件,將接收到的數(shù)據(jù)通過串口發(fā)送到PC仿真終端顯示。關鍵詞: BSP設計 驅動程序 緩存區(qū) 緩存區(qū)描述符?嵌入式系統(tǒng)是一種對可靠性和實時性要求較高的專用計算機系統(tǒng)。PowerPC860能夠提供良好的編程、編
4、譯、系統(tǒng)配置和調試環(huán)境,同時能在底層實現(xiàn)模塊化和屏蔽化。VxWorks是32位的實時操作系統(tǒng),支持32位以上的嵌入式處理器,如MIPS、ARM、PowerPC系列等。在VxWorks的開發(fā)環(huán)境Tornado中已集成了很多基于ARM和PowerPC系列的驅動模塊,如網(wǎng)卡設備驅動、串口通信驅動、塊設備驅動等。在Tornado系統(tǒng)中,已在串口通信通道SCC3設備上開發(fā)了基于UART協(xié)議的板級支持BSP。但由于UART協(xié)議沒有數(shù)據(jù)差錯校驗處理,所以不能實現(xiàn)數(shù)據(jù)的可靠傳輸。本文基于HDLC協(xié)議,提出了通過SCC3端口發(fā)送和<"cblue" " title="
5、接收數(shù)據(jù)">接收數(shù)據(jù),其中SCC3的接收緩沖區(qū)不但包括發(fā)送緩沖區(qū)的數(shù)據(jù)內容,還包括16位或32位的CRC差錯校驗,實現(xiàn)了數(shù)據(jù)的高可靠性和實時性傳輸。PowerPC860的板級支持包BSP的設計是實現(xiàn)SCC自環(huán)通信系統(tǒng)開發(fā)及移植的重點,BSP 主要完成VxWorks 對專用目標板的支持。由于對硬件系統(tǒng)緊湊性和操作系統(tǒng)處理性能的要求,本BSP設計是在SCC3端口上采用NMSI方式實現(xiàn)的自環(huán)通信。1 系統(tǒng)的BSP初始化方法PowerPC860由其內核、系統(tǒng)接口單元和通信處理模塊CPM三部分組成。其中通信處理模塊可以在不同的設備上發(fā)送和接收信息,還可以在CPM的串口通信通道SCC上實現(xiàn)
6、不同協(xié)議的傳輸。一個BSP 包括硬件初始化、中斷處理和產生、硬件時鐘管理、本地和總線內存空間映射,同時也包含定制VxWorks 映像。目標板初始化和驅動程序設計是SCC3端口實現(xiàn)HDLC協(xié)議自環(huán)方式通信的關鍵和難點。通常,BSP提供的功能有:初始化(CPU初始化、目標板初始化、內核初始化)和驅動程序支持。驅動程序負責硬件設備的初始化,并與設備交互實現(xiàn)系統(tǒng)對設備功能的調用。本文提出的BSP設計特點是基于HDLC模式對SCC3通道初始化以及存儲區(qū)的初始化配置,并采用中斷控制提高數(shù)據(jù)傳輸效率。該BSP能夠提供標準接口,包括設備初始化、設備的啟動和停止、設備狀態(tài)查詢、中斷和查詢方式下發(fā)送和接收數(shù)據(jù),從
7、而實現(xiàn)底層模塊化及提高數(shù)據(jù)處理效率。1.1 對自環(huán)通信的SCC3初始化的硬件設計配置發(fā)送與接收所用的波特率發(fā)生器,將SCC3的收發(fā)時鐘分別配置成內部時鐘和外部時鐘;將SCC3配置成NMSI模式,初始化SDCR寄存器。在函數(shù)sccIoctl中,模式為16位CRC寄存器的設置如下:sccIoctl(SCC_CHAN*pChan,int com,int arg)if(arg=CRC16_MODE) pChan->hdlc.pSccReg->psmr&=0x0800;pChan->hdlc.pScc->c_mask=CRC16_MASK;pChan->hdlc.p
8、Scc->c_pres=CRC16_PRES;return (status);1.2 對初始化SCC3的軟件設計SCC3的初始化包括參數(shù)RAM和收發(fā)緩沖區(qū)<"cblue" " title="描述符">描述符BD的初始化。IMMR寄存器的值是內存基址,其中內存包括寄存器基址和收發(fā)緩沖區(qū)描述符BD等。設置Rx和TxBD表的基址相對于雙端口RAM的偏移量;設置Rx和Tx的函數(shù)代碼;在MRBLR中設置接收緩存的<"cblue" " title="最大">最大空間;設置收發(fā)緩
9、沖區(qū)描述符BD表基址相對于IMMR寄存器中值的偏移量。收發(fā)緩沖區(qū)描述符BD對Buffer結構進行描述,包括對Buffer的狀態(tài)statusMode(即是否為空)、長度dataLength和指針dataPointer的描述。收發(fā)緩沖區(qū)描述符BD初始化過程如下(其中MAX_RXBD_NUM為最大接收緩沖區(qū)描述符BD數(shù),MAX_BUF_SIZE為最大接收Buffer數(shù)目):static void InitBDs(void)int i=0;/*pRxBuffer是Buffer的首地址*/for (i=0;i<MAX_RXBD_NUM;I+)RecvBDi->statusMode=0x000
10、0;RecvBDi->statusMode|=(BD_RX_EMPTY_BIT);RecvBDi->dataLength=0;RecvBDi->dataPointer=(u_char*)(pRxBuffer+i*MAX_BUF_SIZE);2 自環(huán)方式通信系統(tǒng)的驅動設計由于系統(tǒng)在自環(huán)通信方式下工作,所以SCC3的參數(shù)RAM、收發(fā)緩存區(qū)描述符等的內存地址設計、UART協(xié)議和HDLC協(xié)議的驅動設計方法、自環(huán)通信和多通道通信方式設計將發(fā)生根本變化。因此系統(tǒng)設備驅動程序需編寫具有相應特點的設備函數(shù)。(1)接收函數(shù)sccPollInput()的設計。正式讀入數(shù)據(jù)前,必須先檢測幀開始標志
11、,并匹配地址,然后決定是否進入接收狀態(tài)。進入接收狀態(tài)后,首先提取RxBD的狀態(tài)模式字節(jié),若接收未準備好,則繼續(xù)等待;若已準備好,則開始接收。由于一個數(shù)據(jù)包可以放置于多個緩存,所以檢測RxBD狀態(tài)模式字節(jié)的L位,以判斷是否為本幀的最后一個緩存。如果不是,則關閉這個緩存,處理下一個緩存描述字;如果是,則接收完最后一個緩存的數(shù)據(jù)后結束接收過程。對于最后一個buffer,需要檢測是否有接收錯誤。下面舉例說明SCC3的一個接收緩沖區(qū)描述符BD所描述的5個Buffer的數(shù)據(jù)接收過程,如圖1所示。該例設節(jié)點地址STADDR為0x1999,最大Buffer接收數(shù)MAX_BUF_SIZE為5,接收緩存地址pRx
12、Buffer,連續(xù)接收發(fā)送緩存區(qū)數(shù)據(jù)66,XmitBD0->dataPointer為首地址pRxBuffer賦值。接收Buffer的數(shù)據(jù)結構和實現(xiàn)接收數(shù)據(jù)的基本過程如下:#define MAX_BUF_SIZE 5#define STADDR 0x1999typedef structSCC_HDLC_BUF*pTxBuffer;SCC_HDLC_BUF*pRxBuffer;SCC_HDLC_DEV*pRxBuffer =XmitBD0->dataPointer;*pRxBuffer=(STADDR%256);*pRxBuffer=pRxBuffer +1;*pRxBuffer=(S
13、TADDR/256);pRxBuffer=pRxBuffer +1;for(index=2;index<MAX_BUF_SIZE;index+)<MAX_BUF_SIZE;INDEX+)*pRxBuffer=0x66;pRxBuffer=pRxBuffer+1;(2)發(fā)送函數(shù)sccPollInput( )的設計。設計方法同接收函數(shù)相似,但對于最后一個Buffer,需要檢測是否有發(fā)送錯誤,并以剩下的實際數(shù)據(jù)長度作為發(fā)送幀中數(shù)據(jù)段的長度發(fā)送。(3)設備控制函數(shù)sccIoctl()和數(shù)據(jù)發(fā)送函數(shù)sccStartup( )的設計。sccIoctl()函數(shù)用于設備工作模式配置和參數(shù)讀取。其中
14、包括工作模式、通信速率、節(jié)點地址、CRC模式、最長幀等。輪詢模式下的收、發(fā)消息不需外部消息激勵,減少了任務的相互調度,可以用taskDelay實現(xiàn) ,但是效率較低。sccStartup( )是中斷方式下的數(shù)據(jù)發(fā)送函數(shù),設計要求在sysHwInit2( )函數(shù)中用接口inConnect( )實現(xiàn)關聯(lián)sccStartup( )和ISR。本文是在CS860板的SCC3設備上開發(fā)支持標準HDLC點對點通信協(xié)議的BSP,它實現(xiàn)了數(shù)據(jù)的高可靠和實時性傳輸?;赩xworks 操作系統(tǒng)的HDLC協(xié)議自環(huán)通信,按一定的步驟分階段編碼調試實現(xiàn)。開發(fā)步驟包括:建立開發(fā)環(huán)境、編寫初始化代碼驅動、調試BSP等。通過測試程序實現(xiàn)了在查詢及中斷方式下發(fā)送和接收數(shù)據(jù),在超級終端設置和查看工作模式、通信速率、節(jié)點地址、CRC模式,最長幀等,并設有收發(fā)是否正常及錯誤類型告警提示。通過硬件配置和程序調試,本文的BSP能在PowerPC860的其他SCC上移植。參考文獻1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國牛羊絨市場發(fā)展前景預測及投資戰(zhàn)略研究報告
- 2025年度環(huán)保設備生產企業(yè)代理記賬人員設備成本保密協(xié)議
- 荷花可行性研究報告
- 皮飾整飾行業(yè)深度研究報告
- 2024-2027年中國采購管理軟件市場規(guī)模預測及投資戰(zhàn)略咨詢報告
- 2025-2030年中國能源行業(yè)市場發(fā)展分析及投資前景與投資策略研究報告
- 購買噴霧設備的申請報告
- 2025年度音樂會現(xiàn)場場記聘用合同
- 2025年度智能家居租賃服務合同二零二五版
- 13《寒號鳥》教學設計-2024-2025學年語文二年級上冊統(tǒng)編版
- 六年級毛筆書法教案(下冊)
- 秘魯農村公路
- 五年級下冊勞動全冊教案人教版貴州人民出版社
- 吉利質量協(xié)議
- 空調系統(tǒng)的應急預案
- 2023玻纖增強聚氨酯門窗工程技術規(guī)程
- 汽車維修廠車輛進出廠登記制度
- 部編版七年級語文下冊全冊教案設計(表格式)
- 浙江2023公務員考試真題及答案
- 船舶結構與貨運PPT完整全套教學課件
- Q-SY 08136-2017 生產作業(yè)現(xiàn)場應急物資配備選用指南
評論
0/150
提交評論