《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 業界動態 > 基于PowerPC的自環通信系統的BSP設計

基于PowerPC的自環通信系統的BSP設計

2008-03-26
作者:常耀斌,鄧中亮

  摘 要: 針對PowerPC在高速信號和大量數據處理中的應用優勢,在PowerPC860板的通信處理模塊CPM的SCC3設備上" title="設備上">設備上開發了板級支持包BSP,使串口通信" title="串口通信">串口通信通道SCC3端口實現了HDLC協議的自環方式通信,通過SCC3端口發送數據或文件,將接收到的數據通過串口發送到PC仿真終端顯示。
  關鍵詞: BSP設計 驅動程序 緩存區 緩存區描述符

?

  嵌入式系統是一種對可靠性和實時性要求較高的專用計算機系統。PowerPC860能夠提供良好的編程、編譯、系統配置和調試環境,同時能在底層實現模塊化和屏蔽化。VxWorks是32位的實時操作系統,支持32位以上的嵌入式處理器,如MIPS、ARM、PowerPC系列等。在VxWorks的開發環境Tornado中已集成了很多基于ARM和PowerPC系列的驅動模塊,如網卡設備驅動、串口通信驅動、塊設備驅動等。在Tornado系統中,已在串口通信通道SCC3設備上開發了基于UART協議的板級支持BSP。但由于UART協議沒有數據差錯校驗處理,所以不能實現數據的可靠傳輸。本文基于HDLC協議,提出了通過SCC3端口發送和接收數據" title="接收數據">接收數據,其中SCC3的接收緩沖區不但包括發送緩沖區的數據內容,還包括16位或32位的CRC差錯校驗,實現了數據的高可靠性和實時性傳輸。PowerPC860的板級支持包BSP的設計是實現SCC自環通信系統開發及移植的重點,BSP 主要完成VxWorks 對專用目標板的支持。由于對硬件系統緊湊性和操作系統處理性能的要求,本BSP設計是在SCC3端口上采用NMSI方式實現的自環通信。
1 系統的BSP初始化方法
  PowerPC860由其內核、系統接口單元和通信處理模塊CPM三部分組成。其中通信處理模塊可以在不同的設備上發送和接收信息,還可以在CPM的串口通信通道SCC上實現不同協議的傳輸。一個BSP 包括硬件初始化、中斷處理和產生、硬件時鐘管理、本地和總線內存空間映射,同時也包含定制VxWorks 映像。目標板初始化和驅動程序設計是SCC3端口實現HDLC協議自環方式通信的關鍵和難點。通常,BSP提供的功能有:初始化(CPU初始化、目標板初始化、內核初始化)和驅動程序支持。驅動程序負責硬件設備的初始化,并與設備交互實現系統對設備功能的調用。本文提出的BSP設計特點是基于HDLC模式對SCC3通道初始化以及存儲區的初始化配置,并采用中斷控制提高數據傳輸效率。該BSP能夠提供標準接口,包括設備初始化、設備的啟動和停止、設備狀態查詢、中斷和查詢方式下發送和接收數據,從而實現底層模塊化及提高數據處理效率。
1.1 對自環通信的SCC3初始化的硬件設計
  配置發送與接收所用的波特率發生器,將SCC3的收發時鐘分別配置成內部時鐘和外部時鐘;將SCC3配置成NMSI模式,初始化SDCR寄存器。在函數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.pScc->c_pres=CRC16_PRES;
}
return (status);
}
1.2 對初始化SCC3的軟件設計
  SCC3的初始化包括參數RAM和收發緩沖區描述符" title="描述符">描述符BD的初始化。IMMR寄存器的值是內存基址,其中內存包括寄存器基址和收發緩沖區描述符BD等。設置Rx和TxBD表的基址相對于雙端口RAM的偏移量;設置Rx和Tx的函數代碼;在MRBLR中設置接收緩存的最大" title="最大">最大空間;設置收發緩沖區描述符BD表基址相對于IMMR寄存器中值的偏移量。收發緩沖區描述符BD對Buffer結構進行描述,包括對Buffer的狀態statusMode(即是否為空)、長度dataLength和指針dataPointer的描述。收發緩沖區描述符BD初始化過程如下(其中MAX_RXBD_
NUM為最大接收緩沖區描述符BD數,MAX_BUF_SIZE為最大接收Buffer數目):
static void InitBDs(void)
{
int i=0;/*pRxBuffer是Buffer的首地址*/
for (i=0;i{
RecvBD[i]->statusMode=0x0000;
RecvBD[i]->statusMode|=(BD_RX_EMPTY_BIT);
RecvBD[i]->dataLength=0;
RecvBD[i]->dataPointer=(u_char*)(pRxBuffer+i*MAX_BUF_SIZE);
}
}
2 自環方式通信系統的驅動設計
  由于系統在自環通信方式下工作,所以SCC3的參數RAM、收發緩存區描述符等的內存地址設計、UART協議和HDLC協議的驅動設計方法、自環通信和多通道通信方式設計將發生根本變化。因此系統設備驅動程序需編寫具有相應特點的設備函數。
  (1)接收函數sccPollInput()的設計。
  正式讀入數據前,必須先檢測幀開始標志,并匹配地址,然后決定是否進入接收狀態。進入接收狀態后,首先提取RxBD的狀態模式字節,若接收未準備好,則繼續等待;若已準備好,則開始接收。由于一個數據包可以放置于多個緩存,所以檢測RxBD狀態模式字節的L位,以判斷是否為本幀的最后一個緩存。如果不是,則關閉這個緩存,處理下一個緩存描述字;如果是,則接收完最后一個緩存的數據后結束接收過程。對于最后一個buffer,需要檢測是否有接收錯誤。下面舉例說明SCC3的一個接收緩沖區描述符BD所描述的5個Buffer的數據接收過程,如圖1所示。該例設節點地址STADDR為0x1999,最大Buffer接收數MAX_BUF_SIZE為5,接收緩存地址pRxBuffer,連續接收發送緩存區數據66,XmitBD[0]->dataPointer為首地址pRxBuffer賦值。


  接收Buffer的數據結構和實現接收數據的基本過程如下:
#define MAX_BUF_SIZE 5
#define STADDR 0x1999
typedef struct
{
SCC_HDLC_BUF*pTxBuffer;
SCC_HDLC_BUF*pRxBuffer;
}SCC_HDLC_DEV
*pRxBuffer =XmitBD[0]->dataPointer;
*pRxBuffer=(STADDR%256);
*pRxBuffer=pRxBuffer +1;
*pRxBuffer=(STADDR/256);
pRxBuffer=pRxBuffer +1;
for(index=2;index_BUF_SIZE;index++)

  {*pRxBuffer=0x66;pRxBuffer=pRxBuffer+1;}
  (2)發送函數sccPollInput( )的設計。
  設計方法同接收函數相似,但對于最后一個Buffer,需要檢測是否有發送錯誤,并以剩下的實際數據長度作為發送幀中數據段的長度發送。
  (3)設備控制函數sccIoctl()和數據發送函數sccStartup( )的設計。
  sccIoctl()函數用于設備工作模式配置和參數讀取。其中包括工作模式、通信速率、節點地址、CRC模式、最長幀等。輪詢模式下的收、發消息不需外部消息激勵,減少了任務的相互調度,可以用taskDelay實現 ,但是效率較低。sccStartup( )是中斷方式下的數據發送函數,設計要求在sysHwInit2( )函數中用接口inConnect( )實現關聯sccStartup( )和ISR。
  本文是在CS860板的SCC3設備上開發支持標準HDLC點對點通信協議的BSP,它實現了數據的高可靠和實時性傳輸。基于Vxworks 操作系統的HDLC協議自環通信,按一定的步驟分階段編碼調試實現。開發步驟包括:建立開發環境、編寫初始化代碼驅動、調試BSP等。通過測試程序實現了在查詢及中斷方式下發送和接收數據,在超級終端設置和查看工作模式、通信速率、節點地址、CRC模式,最長幀等,并設有收發是否正常及錯誤類型告警提示。通過硬件配置和程序調試,本文的BSP能在PowerPC860的其他SCC上移植。
參考文獻
1 Motorola Company.The MPC860 PowerQUICC TrainingCDROM [EB/OL].America,Motorola,2004
2 李方敏.VxWorks高級程序設計[M].北京:清華大學出版社,2004
3 周啟平.VxWorks下設備驅動程序BSP及開發指南[M].北京:中國電力出版社,2004
4 張昆藏.計算機組織與結構——性能設計(第五版)[M].北京:電子工業出版社,2004

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          国产精品自拍视频| 欧美一区二区三区四区视频| 麻豆成人小视频| 欧美影片第一页| 在线精品一区| 亚洲精品专区| 亚洲欧洲一区| 亚洲婷婷国产精品电影人久久| 久久久久久高潮国产精品视| 国产精品久线观看视频| 国产一区二区三区久久悠悠色av| 国产视频综合在线| 免费h精品视频在线播放| 久久成人精品无人区| 亚洲欧美在线播放| 篠田优中文在线播放第一区| 久久久99久久精品女同性| 欧美日韩国产成人| 欧美风情在线观看| 欧美亚洲不卡| 久久综合电影| 久久精品国产综合精品| 国产伦精品一区二区三区免费迷| 欧美日本精品| 久久久久欧美| 欧美一区二区三区在线观看| 麻豆精品一区二区综合av| 欧美一区二区三区久久精品| 欧美黄色一级视频| 最新中文字幕亚洲| aⅴ色国产欧美| 久久琪琪电影院| 久久久久久一区二区| 可以免费看不卡的av网站| av成人免费在线| aa成人免费视频| 亚洲网站在线看| 一区二区三区四区国产| 欧美精品在线观看播放| 久久国产精品久久w女人spa| 久久精品成人欧美大片古装| 亚洲人体一区| 激情六月婷婷久久| 欧美性事在线| 国产精品久久一卡二卡| 亚洲激情电影在线| 一区二区三区四区精品| 亚洲电影观看| 欧美在线视频在线播放完整版免费观看| 国产精品丝袜白浆摸在线| 一区二区三区我不卡| 伊大人香蕉综合8在线视| 欧美绝品在线观看成人午夜影视| 欧美精品乱码久久久久久按摩| 日韩天堂在线视频| 国产精品蜜臀在线观看| 亚洲人成网站在线观看播放| 久久久久久夜精品精品免费| 国产一区二区精品久久91| 欧美精品一区二区精品网| 亚洲一区999| 欧美日韩一区不卡| 亚洲精品免费在线播放| 国产在线欧美| 亚洲性xxxx| 国产精品一区二区三区四区| 99re在线精品| 国产午夜精品麻豆| 欧美日韩激情小视频| 亚洲欧洲三级电影| 亚洲精品在线一区二区| 极品尤物一区二区三区| 久久久亚洲影院你懂的| 亚洲高清在线观看一区| 亚洲三级网站| 日韩亚洲成人av在线| 欧美**字幕| 欧美a级片一区| 欧美中文在线免费| 国产一区二区三区久久久久久久久| 国产精品高潮粉嫩av| 欧美激情一区二区三区高清视频| 欧美黑人多人双交| 久久精品毛片| 黄色成人在线网站| 韩国视频理论视频久久| 欧美一级理论片| 99riav1国产精品视频| 亚洲人成网站影音先锋播放| 亚洲一品av免费观看| 久久九九电影| 999在线观看精品免费不卡网站| 欧美大学生性色视频| 欧美黑人国产人伦爽爽爽| 亚洲精品在线电影| 亚洲在线一区二区三区| 欧美激情bt| 国产一区香蕉久久| 亚洲风情亚aⅴ在线发布| 亚洲美女在线看| 免费欧美在线视频| 欧美日韩一区二区三区四区在线观看| 欧美理论电影在线观看| 欧美人成网站| 精品av久久707| 国产精品久久久久一区二区| 亚洲激情啪啪| 亚洲自拍偷拍网址| 国产乱肥老妇国产一区二| 国产精品成人观看视频国产奇米| 欧美日韩国产色综合一二三四| 狠狠久久婷婷| 欧美视频中文字幕在线| 亚洲欧美激情一区二区| 国产主播一区二区三区四区| 亚洲视频电影在线| 国产目拍亚洲精品99久久精品| 亚洲精品免费在线播放| 欧美激情小视频| 尤物视频一区二区| 一区二区三区高清在线| 久久久久一区二区| 一区二区日韩精品| 国产精品综合网站| 激情久久久久| 美日韩精品视频免费看| 欧美激情在线狂野欧美精品| 欧美国产日韩二区| 欧美日韩免费| 国产综合久久久久久鬼色| 午夜视频在线观看一区二区三区| 欧美成人乱码一区二区三区| 久久激情中文| 午夜视频一区在线观看| 国产欧美日韩精品在线| 一区二区三区在线看| 激情婷婷久久| 亚洲欧美在线播放| 激情五月综合色婷婷一区二区| 久久精品天堂| 欧美在线网址| 免费久久99精品国产| 欧美日韩一区在线观看视频| 国产香蕉久久精品综合网| 韩国精品主播一区二区在线观看| 一本色道久久加勒比精品| 在线成人激情黄色| 亚洲午夜久久久久久尤物| 国产精品户外野外| 亚洲精品久久久久久下一站| 狂野欧美性猛交xxxx巴西| 亚洲视频在线观看视频| 媚黑女一区二区| 欧美日本国产一区| 欧美国产日韩一二三区| 黄色成人在线观看| 亚洲高清中文字幕| 国产一区二区三区自拍| 国产欧美日韩综合一区在线播放| 一本色道久久综合亚洲精品小说| 裸体歌舞表演一区二区| 欧美激情亚洲一区| 国产精品拍天天在线| 欧美另类99xxxxx| 男女av一区三区二区色多| 亚洲欧美国产另类| 欧美成人四级电影| 99国产成+人+综合+亚洲欧美| 欧美激情精品久久久久久大尺度| 久久久久一本一区二区青青蜜月| 久久综合综合久久综合| 亚洲欧美在线观看| 亚洲免费福利视频| …久久精品99久久香蕉国产| 精品1区2区3区4区| 久久er99精品| 国产精品久久久久久久久久免费| 亚洲视频电影在线| 久久国产综合精品| 美女脱光内衣内裤视频久久网站| 亚洲国产精品久久久久秋霞影院| 亚洲影院免费| 午夜精品久久久久久久| 欧美精品自拍偷拍动漫精品| 国产精品免费看| 欧美精品麻豆| 国产精品久久久久久久第一福利| 欧美精品久久天天躁| 国产亚洲欧洲一区高清在线观看| 美女主播视频一区| 久久久国产精品一区二区三区| 国产欧美日韩精品丝袜高跟鞋| 国产精品福利片| 午夜精品久久99蜜桃的功能介绍| 亚洲欧美成人| 亚洲无亚洲人成网站77777| 欧美日韩一二三四五区| 亚洲国产高潮在线观看| 国产精品乱码一区二三区小蝌蚪| 欧美三区免费完整视频在线观看| 狠狠操狠狠色综合网| 国产欧美日韩亚洲一区二区三区| 亚洲第一视频网站| 亚洲国产裸拍裸体视频在线观看乱了中文| 免费不卡亚洲欧美| 国产精品大片免费观看| 欧美日韩在线播放一区二区| 蜜臀久久99精品久久久画质超高清| 欧美日韩精品久久久| 国产欧美日韩不卡| 亚洲国产一区二区a毛片| 日韩视频免费观看高清完整版| 在线一区二区三区做爰视频网站| 曰韩精品一区二区| 亚洲国产欧美一区二区三区同亚洲| 欧美日韩一区二区三区四区在线观看| 99精品黄色片免费大全| 亚洲美女精品一区| 欧美亚洲一区二区在线观看| 亚洲免费福利视频| 久久久精品网| 亚洲日本欧美天堂| 国产精品v日韩精品| 欧美视频一区二区在线观看| 亚洲深夜福利| 一区二区三区免费在线观看| 亚洲欧洲一区二区在线观看| 欧美午夜影院| 国产精品高清免费在线观看| 亚洲欧美日韩一区二区| 欧美精品18videos性欧美| 蜜臀91精品一区二区三区| 又紧又大又爽精品一区二区| 欧美**人妖| 国产精品高清在线观看| 久久精品一级爱片| 欧美高清视频免费观看| 久久女同互慰一区二区三区| 嫩草成人www欧美| 国产日本欧洲亚洲| 国产综合精品| 久久国产精品久久国产精品| 在线观看成人小视频| 媚黑女一区二区| 欧美综合国产精品久久丁香| 一本色道久久综合亚洲精品高清| 亚洲欧美日韩在线播放| 国产精品99久久久久久www| 亚洲国产精品成人久久综合一区| 激情伊人五月天久久综合| 91久久久一线二线三线品牌| 一区二区日韩欧美| 欧美在线视频一区二区| 亚洲精品欧美精品| 欧美激情一区二区久久久| 欧美激情一区二区三区四区| 亚洲自拍啪啪| 国产乱人伦精品一区二区| 国内视频精品| 欧美精品色综合| 国产精品久久久久999| 亚洲免费一区二区| 激情久久一区| 国产伦精品免费视频| 亚洲午夜极品| 欧美日韩在线播放一区二区| 欧美在线观看www| 国产久一道中文一区| 亚洲欧美日韩精品久久久| 欧美成人情趣视频| 久久aⅴ乱码一区二区三区| 欧美高清视频一区二区三区在线观看| 宅男66日本亚洲欧美视频| 久久蜜桃香蕉精品一区二区三区| 亚洲精品日韩综合观看成人91| 欧美mv日韩mv国产网站| 国产精品香蕉在线观看| 国产精品一区二区久激情瑜伽| 国产日韩av一区二区| 精品成人在线视频| 在线看欧美日韩| 亚洲一级在线观看| 亚洲免费在线看| 久久av红桃一区二区小说| 亚洲欧美国产高清| 国内成+人亚洲+欧美+综合在线| 欧美手机在线视频| 亚洲国产三级| 国产精品老牛| 中文网丁香综合网| 亚洲欧洲一二三| **性色生活片久久毛片| 国产深夜精品福利| 久久久久久九九九九| 亚洲黄色成人网| 夜夜夜久久久| 国产综合色一区二区三区| 欧美视频精品在线观看| 亚洲开发第一视频在线播放| 久久国产精品久久久| 午夜精品久久久久久久99樱桃| 国产欧美日韩在线| 欧美黄在线观看| 久久动漫亚洲| 国产精品久久久久久五月尺| 韩国av一区二区三区| 亚洲精品一区在线观看| 男人的天堂亚洲在线| 欧美一区亚洲一区| 中文在线不卡| 久久精品视频播放| 亚洲午夜极品| 欧美日韩一区二区视频在线| 亚洲欧美国产三级| 国产欧美精品日韩精品| 欧美精品在线一区二区三区| 国产亚洲欧美一区在线观看| 国产精品久久久久久久久免费| 久久成人亚洲| 欧美伊人精品成人久久综合97| 亚洲国产成人久久| 影院欧美亚洲| 亚洲国产精品一区二区三区| 国产精品av久久久久久麻豆网| 亚洲线精品一区二区三区八戒| 久久精品国产综合精品| 久久一本综合频道| 免费成人激情视频|