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