新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 適用于變電站的CAN現(xiàn)場總線通信適配卡的設計

        適用于變電站的CAN現(xiàn)場總線通信適配卡的設計

        作者: 時間:2013-01-18 來源:網(wǎng)絡 收藏

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

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

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

        3.2微控制器電路
        微控制器采用ATMEL公司的89C52,它與MCS51系列完全兼容,帶有8k字 節(jié)的系統(tǒng)可編程Flash和256B的片內(nèi)RAM。它主要承擔節(jié)點與PC機之間的數(shù) 據(jù)通信和協(xié)調(diào)管理工作。

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

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

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

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

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

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

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

        (5)24MHz時鐘頻率;

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

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

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

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



        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 白银市| 新余市| 五指山市| 博客| 泽州县| 永安市| 汝阳县| 上林县| 区。| 五家渠市| 土默特右旗| 抚顺市| 杭州市| 同德县| 隆德县| 司法| 宣化县| 东莞市| 台前县| 黄梅县| 枣阳市| 珠海市| 宿迁市| 沛县| 绿春县| 文登市| 盐津县| 随州市| 田阳县| 无极县| 扎囊县| 巴林左旗| 巴中市| 天镇县| 蒙山县| 九龙坡区| 马公市| 长阳| 乌拉特后旗| 盘锦市| 嵊泗县|