基于HCS12和模擬器件的工業(yè)CAN I/O模塊設計
工業(yè)CAN I/O模塊包含8個(gè)模擬輸入、16個(gè)數字輸入、16個(gè)數字輸出,以及一個(gè)兼容高速CAN收發(fā)器2.1 A/B的控制器和可選的RS232/RS485收發(fā)器。該方案基于飛思卡爾的16位MC9S12DP256微控制器單元。CAN物理收發(fā)器有兩個(gè)可行的替代產(chǎn)品,為容錯CAN接口MC33388,或帶多輸出電源的高速CAN MC33394。CAN接口與 ISO 11898兼容,允許最大數據速率為500kbps。 數字輸入采用開(kāi)關(guān)監視接口MC33884芯片,數字輸出用低端功率開(kāi)關(guān)器件MC33298實(shí)現。
本文討論的模塊可以用作高層通信協(xié)議軟件開(kāi)發(fā)的硬件平臺。另外,該模塊可以用于用戶(hù)軟件的實(shí)現和測試?;谶@一目的,電路板需要配備重新編程和調試用的后臺調試模式(BDM)接口。工業(yè)CAN I/O模塊從邏輯上分成基板、電源和I/O板三個(gè)基本電路板。板與板之間的數據傳送由串行外設接口(SPI)協(xié)議保證。
基板的組成
工業(yè)CAN I/O模塊中基板的主要功能是對模塊實(shí)施控制,并與系統控制單元進(jìn)行通信?;迮鋫溆?個(gè)模擬通道?;鍙倪壿嬌嫌挚梢苑殖晌⒖刂破髂K、CAN接口、模擬輸入和RS232_485接口4個(gè)模塊。
a.微控制器模塊
16 位MC9S12DP256微控制器單元(MCU)是基板的主要組成部分。工業(yè)CAN I/O模塊使用了內嵌于MCU 的5個(gè)CAN外設之一(CAN0)。根據BOSCH規范的定義,該外設是一個(gè)用于實(shí)現CAN 2.0A/B協(xié)議的通信控制器。CAN外設是MSCAN(摩托羅拉可伸縮CAN)的一種特定實(shí)現。它使用了2個(gè)外部引腳,一個(gè)輸入(RxCAN0)和一個(gè)輸出(TxCAN0)通過(guò)CAN收發(fā)器與CAN總線(xiàn)進(jìn)行通信。一個(gè)輸出信號用于實(shí)現對CAN收發(fā)器芯片的控制。
如上所述,板之間的數據傳送是由SPI協(xié)議保證的。SPI模塊可以實(shí)現MCU與外設之間的全雙工串行通信。工業(yè)CAN I/O模塊使用了MCU的3個(gè)SPI外設中的一個(gè)(SP0)。該 SPI可以被配置為主模式或從模式。SPI0外設必須選擇主模式,因為只有主SPI才能發(fā)起到外設的傳送。
工業(yè)CAN I/O模塊使用了內嵌于MCU的兩個(gè)8通道模數轉換器中的一個(gè)(AN0)。A/D模塊執行模擬到數字的轉換,該模塊包含了簡(jiǎn)單模數轉換所必需的模塊和數字電子電路。A/D轉換器的分辨率(8位或10 位)是可編程選擇的。在工作電壓為5V時(shí),模塊可以接受5V輸入而不會(huì )導致永久性損壞。
基板上有一個(gè)8位DIP開(kāi)關(guān),用于配置節點(diǎn)地址(節點(diǎn)識別號)以及CAN速度。與主機開(kāi)發(fā)系統的單線(xiàn)通信是通過(guò)用片上硬件實(shí)現的BDM系統完成,與目標系統的連接通過(guò)標準的6引腳BDM連接器實(shí)現。
b.CAN接口
每個(gè) CAN節點(diǎn)是通過(guò)收發(fā)器芯片實(shí)現與CAN總線(xiàn)的物理連接。收發(fā)器能夠驅動(dòng)CAN總線(xiàn)所需要的大電流,并具有隔離故障CAN或故障站的電流保護功能?;迳系腃AN收發(fā)器有兩個(gè)可選項:一個(gè)是使用容錯CAN接口MC33388;另一個(gè)使用MC33394器件的高速CAN收發(fā)器部分。模塊使用MC33394器件的高速CAN收發(fā)器部分,同時(shí)也是電源板的一部分。
c.模擬輸入
模塊共提供了8個(gè)模擬通道。在每個(gè)模擬通道的輸入部分都有一個(gè)衰減斜率是-40dB/dec、截止頻率為1kHz的無(wú)源低通濾波器。輸入濾波器用于濾除在采樣之前引入的高頻噪聲和干擾。模擬通道可以被配置為電壓或電流模式。250歐姆電阻為4到20mA的電流環(huán)路提供電流檢測和實(shí)用的過(guò)流保護。模擬通道的電壓輸入如信號的范圍是0到10V、0到5V以及-5V到+5V、-2.5V到+2.5V,電流范圍是4到20mA。輸入范圍由微控制器控制。
d.RS232_485接口
基板提供了一個(gè)用于連接PC或類(lèi)似主機的RS232接口,以及一個(gè)用于工業(yè)應用的RS485接口。
電源板
電源板能夠提供工業(yè)CAN I/O模塊所需的所有電源。
電源板的主器件是一個(gè)帶高速CAN收發(fā)器的多輸出電源集成電路PC33394。該器件內置有開(kāi)關(guān)型整流器,可提供預調節的輸出,后面緊跟一個(gè)低壓降輸出 (LDO)調節器。并應用并沒(méi)有用到PC33394的全部功能。內部開(kāi)關(guān)調節器集成了實(shí)現降壓/生壓整流器的電路。該電路眼板上只實(shí)現了降壓調節器?;貟咿D換器提供對稱(chēng)的電壓為模塊的模擬通道供電。變壓器輸出電壓經(jīng)整流后由線(xiàn)性穩壓器產(chǎn)生一對稱(chēng)的+12V、-12V輸出電壓。
高速CAN收發(fā)器的物理層將微控制器的CMOS輸出及差分總線(xiàn)相接。CAN驅動(dòng)器具有短路保護功能,可以容許失去電池或接地條件。
I/O板
I/O板提供16個(gè)數字輸入和16個(gè)數字輸出。I/O板通過(guò)連接器連接到基板。從邏輯上I/O板可以分成數字輸入和數字輸出兩個(gè)基本模塊。
a.輸入模塊
板上有2個(gè)開(kāi)關(guān)監測接口器件MC33884,它們提供了電子開(kāi)關(guān)和微控制器之間的接口。MC33884監測系統中使用的多個(gè)外部開(kāi)關(guān)的開(kāi)/關(guān)狀態(tài)。該器件提供開(kāi)關(guān)觸點(diǎn)的上拉和下拉電流,同時(shí)監測輸入電壓電平。所有輸入電路都能防止輸入端使用的靜態(tài)放電電容引起的瞬態(tài)。
MC33884可運行在以下4種模式中的一種:睡眠、正常、輪詢(xún)和輪詢(xún)+INT定時(shí)器。所有工作模式都可以通過(guò)SPI控制進(jìn)行編程,SPI命令的響應將返回開(kāi)關(guān)狀態(tài)和模式設置。
該模塊使用4個(gè)可編程開(kāi)關(guān)到地或電池感應輸入,以及每個(gè)MC33884的4個(gè)開(kāi)關(guān)到地的感應輸入。板上的MC33884以并行方式配置使用。
b.輸出模塊
板上的2個(gè)低端電源開(kāi)關(guān)MC33298能使MCU直接控制各種感性或白熱負載。板上的器件也可通過(guò)SPI控制進(jìn)行編程,并以并行配置方式使用。SPI命令的響應將返回器件輸出開(kāi)關(guān)的狀態(tài)。發(fā)光二極管D1到D16也反映器件的輸出開(kāi)關(guān)狀態(tài)。LED閃爍表示開(kāi)狀態(tài)。
應用介紹
設計工業(yè)CAN I/O板樣板的目的是要展示模塊在利用CAN連接性的主要特性。對于msCAN外設模塊來(lái)說(shuō),msCAN驅動(dòng)程序軟件已成功用來(lái)創(chuàng )建初始化和可讀性更高的應用例程,而總的循環(huán)時(shí)間能夠得到顯著(zhù)減少。
表1:所有的事件描述
事件描述 | 發(fā)起者 | 接收者 |
模擬輸入模塊參數(范圍和準確度)的變化 | 上級器件 | CAN I/O |
模擬輸入模塊狀態(tài)值 | CAN I/O | 上級器件 |
設置I/O板新的數字輸出值 | 上級器件 | CAN I/O |
I/O板數字輸入值的狀態(tài) | CAN I/O | 上級器件 |
因為狀態(tài)變化的I/O板數字輸入值的狀態(tài) | CAN I/O | 上級器件 |
模塊從上層器件接收配置信息,并返回輸入/輸出的狀態(tài),表1列出了模塊的所有事件。工業(yè)CAN I/O模塊參考設計提供了基于飛思卡爾HCS12和APD器件的工業(yè)CAN的應用描述,可以參看飛思卡爾網(wǎng)站。
評論