新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 適用于變電站的CAN現場總線通信適配卡的設計

        適用于變電站的CAN現場總線通信適配卡的設計

        作者: 時間:2013-01-18 來源:網絡 收藏

        3、通訊適配卡的結構
        這里研制的適配卡由ISA接口、雙口RAM、微控制器89C52、通 信控制器SJA1000、CAN收發器82C250、數據緩存器、地址譯碼與控制邏輯和中 斷信號控制邏輯等部分組成。其硬件結構框圖如圖1所示。

        3.1雙口RAM及控制電路
        PC機與CAN控制器之間要進行數據的傳送,必須在PC機和適配卡上的微處理器 之間建立雙向的數據通道[5]。這里采用共用外部數據存儲器的方法。集成雙口R AM是一種性能優良的快速通信器件,適用于多CPU分布式系統及高速數字系統中,它 有兩路完全獨立的端口,每個端口都有完整的地址和數據控制線,這里采用IDT7006雙 口RAM。對于雙口RAM的應用,一個很重要的問題就是必須避免兩個端口的爭用,兩 邊同時讀/寫同一地址單元。但只要遵循一定的通信規則,使用合理的控制邏輯電路是可以 避免爭用現象的。這里采用可編程邏輯器件EPM7128S來實現。EPN171285是一種典 型的EPLD器件,采用了先進的CMOS EEPROM技術,內含2 500個邏輯門和128個宏單 元,可以在PCB板上直接對芯片進行編程。在該適配卡中,EPM7128S主要完成數據 總線的驅動、中斷信號處理以及共享存儲器和數據緩沖器的地址譯碼。

        適配卡上的雙口RAM使用內存映像的方式直接映射到主機內存空間,實現適配卡與主機 的數據交換[6]。內存映象法是將適配卡的數據存儲地址配置于PC機的主存儲 器的高端,PC機可以采用寫主存儲器的方式將數據直接寫在適配卡的數據存儲器中, PC機不訪問適配卡的微控制器時就可以讀寫數據存儲器的數據。

        3.2微控制器電路
        微控制器采用ATMEL公司的89C52,它與MCS51系列完全兼容,帶有8k字 節的系統可編程Flash和256B的片內RAM。它主要承擔節點與PC機之間的數 據通信和協調管理工作。

        當89C52與CAN總線通信時,通常由于總線上所掛的節點有多個,所以需要在適配卡 上設計一個數據緩沖器,用于暫存由節點上發來的數據。考慮到需要測控的節點較多 ,所以選用容量較大的緩沖器,這里選用DS1245。它是DALLAS公司生產的全靜態非 易失性保護RAM,容量為128kbit,在芯片內部有鋰電池和掉電保護電路,可防止因 適配卡掉電引起的測量數據丟失。

        由于適配卡的工作環境干擾很嚴重,使得電路調試比較復雜且故障率也較高,本卡設計了三 種復位方式[7]。一種為上電復位方式,即在PC機通電時,同時對適配卡也進 行復位;第二種為在調試時出現故障,使用手動復位鍵進行復位;第三種方式為軟件復位, 這種方法是使用初始化模塊中的軟件指令對適配卡進行復位。

        3.3通信控制器
        CAN通信控制器采用PHILIPS公司的SJA1000,它是一種獨立的CAN控制器, 主要應用于移動目標和一般的工業環境中的區域控制。在本適配卡中SJA1000主要完成 具體的報文發送和報文接收。SJA1000的基本特點有:

        (1)具有擴展的64字節接受緩沖器,先進先出(FIFO);

        (2)支持CAN2.0A和CAN2.0B協議;

        (3)支持11位和29位的標識碼;

        (4)通信速率可達1Mbps;

        (5)24MHz時鐘頻率;

        (6)可與不同的微處理器接口;

        (7)可編程的CAN輸出驅動器配置;可工作于BasicCAN和PeliCAN兩種狀態。

        CAN控制器的內部采用模塊結構,由七個部分組成:接口管理邏輯(IML)用于解釋 來自CPU的命令,控制CAN寄存器的尋址,向主控制器提供中斷信息和狀態信息;發 送緩沖器(TXB)是CPU與BSP之間的接口,緩沖器可以存儲有13個字節的一條 完整的報文;接收緩沖器(RXB)是接收濾波器和CPU之間的接口,用于存儲從CAN總線上接收并被確認的信息;驗收濾波器(ACF),用于對接收到的標識碼進行驗收 ,以決定是否接收下這條報文;位流處理器(BSP)是一個在發送緩沖器、RXFIFO和CAN總線之間控制數據流的隊列發生器,它還執行總線上的錯誤檢測、仲裁、填充和 錯誤處理;位時序邏輯(BTL),用于監視串行的CAN總線和位時序;錯誤管理邏輯 (EML),用于限制傳輸層模塊的錯誤。

        3.4輔助電路
        CAN控制器SJA1000并不能直接與總線相連,還要通過總線驅動器才能接于總線上。 本適配卡采用82C250總線驅動器,為了增強CAN總線節點的抗干擾能力,SJA1000 的TX0和TX1通過高速光耦6N137后與82C250相連,使得總線上的各節點 具有很好的電氣隔離。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 六枝特区| 正安县| 象山县| 古田县| 绥德县| 华安县| 定边县| 南雄市| 黄石市| 肃宁县| 东乡族自治县| 彰武县| 乐都县| 时尚| 延吉市| 陇西县| 张掖市| 芜湖市| 石门县| 兴国县| 徐汇区| 明星| 屯昌县| 新兴县| 阜阳市| 长垣县| 喀喇沁旗| 隆德县| 柘荣县| 高雄县| 鄂州市| 基隆市| 怀宁县| 曲周县| 耒阳市| 白银市| 虎林市| 当涂县| 南漳县| 宜城市| 宁乡县|