新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于PCI/CPCI總線的嵌入式實時智能通信系統

        基于PCI/CPCI總線的嵌入式實時智能通信系統

        作者:■ 武漢數字工程研究所 黃松 時間:2005-04-27 來源:eaw 收藏

        摘    要:本文描述了一種基于的嵌入式實時智能通訊設備的設計及實現,充分利用了PCI總線的高效能和嵌入式通訊控制器的強大功能,設計出了一種高速的智能通信設備。
        關鍵詞:;;;

        引言
        在計算機通信領域,串口被廣泛運用。在某些特殊的應用領域,將會用到特殊的串口通信進行數據通信和報文交換。本設計就是針對一些特殊用途的應用,即一些高速系統串口傳輸方式的設計。

        嵌入式智能通信系統的實時性特征
        在設計一種嵌入式系統的時候,應該考慮到硬件和軟件的結合,并考慮要滿足嵌入式實時系統的各種特點。該設計具有以下特點:
        * 與上位機接口采用。接口芯片采用AMCC S5920,它是一種,其總線時鐘頻率達到33MHz,ADD-ON總線的時鐘達到40MHz,設計方便、可編程。
        * 該設計用到了AMD公司專用的Am186cc,該嵌入式CPU具有低功耗、體積小、集成度高等特點,能夠把通用CPU中許多由板卡完成的任務集成在芯片內部,從而使設計趨于小型化。
        * 專用性和算法的唯一性,將嵌入式系統和具體的應用有機地結合在一起。
        * 該智能通信設備體現了硬件和軟件緊密結合的特點,在硬件方案設計的同時,軟件要進行同步設計,達到共同完成預定的功能,并滿足性能、成本和可靠性目標。
        * 嵌入式實時系統的設計對用戶是透明的。
        * 設計響應時間快,并有確定的硬實時性要求。
        * 該智能通訊具有快速啟動、出錯處理和自動復位功能,這些功能由設計者在器件中的控制邏輯來實現。

        主要硬件
        PCI/CPCI目標接口S5920
        S5920是AMCC公司的,它實際上可看成是一個橋接集成電路。主要特性包括:符合PCI V2.2規范;具有可編程預取和等待功能;局部總線支持8/16/32位可選擇寬度的接口;具有4個可定義的操作區域BADR1~BADR4,分別為存儲區、I/O區、保留區等。由于S5920的通用性,可用于所有PCI總線到ADD-ON總線的橋接轉換電路。
        Am186cc
        AMD公司的通信控制器Am186cc廣泛運用于嵌入式領域。具有四個高速數據鏈路控制通道(HDLC);USB外圍控制器;有8個可支持HDLC和USB的智能DMA通道和4個一般的DMA通道等。
        由于Am186cc控制器具有高效、高集成的控制和接口功能,已被廣泛運用于通訊、電信、工業控制和網絡應用等領域。本文所描述的設計中用到了它的控制功能和串口通信功能。

        系統設計
        本文設計的智能通信系統是基于Intel x86平臺的PCI總線和實時操作系統,由嵌入式智能通信系統硬件和驅動程序兩部分組成,如圖1所示。完成數據交換和報文處理以及發送和接收功能。驅動程序在系統啟動時對硬件進行初始化,在系統啟動之后實現硬件和應用軟件之間的數據交互??紤]到通信的實時性和可靠性要求,該通信設備通過PCI/CPCI高速總線與計算機主機相連。
        硬件設計
        該設計為一種嵌入式實時智能通信板,板上用Am186cc 16位嵌入式微處理器進行控制板的操作,兩片器件用作上位機與下位機訪問雙口RAM的控制譯碼和接口控制譯碼,可在線改寫邏輯。接口芯片可選用各類滿足用戶要求的電平轉換電路。該硬件的原理框圖如圖2所示。
        用戶還可以根據自己的需要在接口處實現串行通信的不同傳輸模式:全雙工和半雙工。
        板上除板內的SRAM外,還設有雙口RAM區,對總線開放,用于本板與系統主機之間的信息交換。串口的數據發送和接收工作由板上微控制器控制完成,一般情況下,當主機有一組數據需要向串口傳送時,將數據放入雙口RAM,并以中斷方式通知板上CPU,板上CPU將負責把數據通過串口發送出去。同樣,當CPU從串口收到數據后,將其放入雙口RAM,當一組數據接收完成后,板上CPU將以中斷方式通知系統主機讀取這批數據。
        雙口RAM的雙口競爭原則如圖3所示。S0為初始狀態;S1為通信板上訪問狀態;S2為上位機訪問狀態;S3為過渡狀態;T1~T6為狀態改變條件。
        由于用戶的運用差別一般都體現在接口上,例如,有些用戶可能會考慮到系統數據傳輸的穩定性和抗干擾性要求,需要采用帶光電隔離的接口模式;有些會考慮到遠距離傳輸,可采用RS-422電平傳輸等。這樣,用戶可根據需求來選擇電平轉換的接口電路,以滿足各種用途。
        軟件設計
        在該智能通信模塊的設計中,特別強調底層驅動和上層應用的開發。
        驅動程序和應用程序的設計
        驅動程序作為系統設計的關鍵技術,它的開發關系到整個系統的運行。該模塊的驅動程序主要包括以下幾個部分:
        (1) 模塊初始化
        int Board_Initialized(int board_num);/*可用多塊智能通訊板,可分別初始化,也可同時                                    初始化*/
        (2) 模塊禁止
        int Board_Close(int channels);/*可通道禁止,也可模塊級禁止*/
        (3) 子通道初始化
        int com_Sub_Initialized(int i,int j,msg_format msg)/*包括子通道初始化和報文格式定義*/
        報文格式msg_format用結構定義:
        typedef  struct{
         unsigned int msg_head_flag ;/*報文頭標識*/
        unsigned int msg_head ;   
        /*報文頭*/
        unsigned int msg_length ; 
        /*報文長度*/
        unsigned int msg_tail_flag ; 
        /*報文尾標識*/
        unsigned int msg_tail ;    
        /*報文尾*/
        unsigned int msg_recv_baud ;
        /*接收波特率*/
        unsigned int msg_send_band ;
        /*發送波特率*/
        unsigned int msg_parity ;   
        /*奇偶校驗位*/
        unsigned int msg_stop ;    
        /*停止位*/
                }msg_format;
        (4) 串口發送和接收數據函數
        int com_Send_Data(int i,unsigned int length,unsigned char c);/*發送函數*/
        int com_recv_Data(int channum,unsigned char buff);/*接收函數 */
        該智能通信板的驅動可應用于DOS、UNIX以及VxWorks等,上層嵌入式實時軟件的良好開發也可以提高該模塊的性能。
        首先,應該根據用戶的實際需求建立軟件模型,給系統建立一個并發模型。在這個并發模型基礎上,實現任務劃分,即按照一定的任務構造準則,把系統分解成功能合理和數目合適的任務集合。任務分配把任務按照一些規則和約束,放入到相應的計算機中,再由任務調度來決定任務的執行順序,然后用語言來實現每個模塊。各部分實現后,應該進行測試。這樣實現的嵌入式軟件才能和硬件集成為完整的、先進的、高效能的系統。
        結語
        本文介紹的嵌入式實時智能通信模塊的設計,功能強大、應用廣泛,而且有一定的通用性,軟件設計的靈活性較強,可以滿足各種需要。并且該系統還可根據上位機的總線結構來設計,可用于Multibus-I、ISA、PCI等總線,以適應市場的實際應用?!?/P>

        參考文獻
        1孔祥營,柏桂枝.嵌入式實時操作系統VxWorks及其開發環境Tornado. 中國電力出版社,2001
        2 瀟湘工作室. 串行通信開發指南. 中國水利水電出版社,2001



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 屯留县| 义乌市| 黔江区| 岳西县| 保定市| 武鸣县| 淳安县| 永昌县| 崇信县| 广丰县| 葵青区| 武陟县| 龙山县| 元阳县| 台中市| 屯留县| 秦皇岛市| 陕西省| 五大连池市| 晋江市| 股票| 甘谷县| 额敏县| 蚌埠市| 长兴县| 昔阳县| 乌兰县| 金川县| 龙门县| 南康市| 天全县| 大足县| 汉沽区| 昭平县| 南华县| 陇川县| 承德县| 华安县| 潜山县| 潼南县| 宣汉县|