基于A(yíng)RM控制器LPC2294的CAN/PCI智能通信卡設計
引言
本文引用地址:http://dyxdggzs.com/article/272388.htmLPC2294是PHILIPS公司推出的一款功能強大、超低功耗且具有ARM7TDMI內核的32位微控制器。它具有豐富的片上資源,完全可以滿(mǎn)足一般的工業(yè)控制需要,同時(shí)還可以減少系統硬件設計的復雜度,提高系統的穩定性。
CAN(“Controller Area Network”)總線(xiàn)控制器局域網(wǎng)是一種能有效支持分布式控制或實(shí)時(shí)控制的串行通信網(wǎng)絡(luò )。CAN總線(xiàn)以其高性能、高可靠性、廉價(jià)等特性,越來(lái)越受到人們的重視和青睞。為了有效的管理工業(yè)現場(chǎng)的CAN節點(diǎn),充分發(fā)揮CAN總線(xiàn)的性能,通信卡的設計與研究十分必要。但目前市場(chǎng)上類(lèi)似產(chǎn)品存在著(zhù)兩點(diǎn)不足。
首先是一般工業(yè)現場(chǎng)中可能擁有不止1條CAN總線(xiàn),而目前設計的通信卡上的CAN的接口太少,因而會(huì )給設備的集中管理帶來(lái)困難。
二是目前兩條CAN網(wǎng)段問(wèn)的通信主要通過(guò)一對一CAN總線(xiàn)網(wǎng)橋來(lái)實(shí)現,但這種方式解決不了工業(yè)現場(chǎng)中同時(shí)在幾條CAN網(wǎng)段問(wèn)傳輸數據的需求,也容易導致組網(wǎng)混亂。
為此,本設計選用的ARM控制器LPC2294內部集成有四路CAN控制器,完全符合CAN規范CAN2.0B標準和ISO11989-1標準。全局驗收過(guò)濾器可識別幾乎所有總線(xiàn)的11位和29位Rx標識符。作為本設計的核心部件,LPC2294的使用能夠很好地解決上述2個(gè)問(wèn)題,它不僅能擔起主控制器的工作,同時(shí)還可作為CAN網(wǎng)絡(luò )的數據傳輸控制器,來(lái)與網(wǎng)絡(luò )中的節點(diǎn)實(shí)現數據交換。
1 硬件設計方案
目前計算機的發(fā)展,除了少數專(zhuān)門(mén)的工控機還在使用ISA總線(xiàn)以外,PC機上使用最為普遍的就是PCI總線(xiàn)了。PCI總線(xiàn)是Intel公司推出的一種高性能32/64位PC機局部總線(xiàn),可能同時(shí)支持多組外圍沒(méi)備而不受制于處理器,其數據吞吐量很大(33 MHz總線(xiàn)頻率、32位傳輸時(shí),其峰值可高達132 MB/s),PCI總線(xiàn)依靠其優(yōu)越的性能必將取代ISA總線(xiàn)。因此,本文基于PCI總線(xiàn)來(lái)設計一個(gè)帶有4個(gè)CAN總線(xiàn)網(wǎng)段的智能通信卡。圖1是該通信卡的整體硬件結構圖。

1.1 PCI總線(xiàn)接口的實(shí)現
PCI總線(xiàn)具有非常嚴格的規范,也具有良好的兼容性。但是PCI總線(xiàn)協(xié)議也比較復雜。本設計選用專(zhuān)用的PCI總線(xiàn)接口芯片PCI9030來(lái)實(shí)現網(wǎng)關(guān)的PCI總線(xiàn)接口。PCI9030是PLX公司開(kāi)發(fā)的低價(jià)格PCI總線(xiàn)從模式接口芯片。該芯片功耗低,符合PCI2.2規范,用戶(hù)設計時(shí)只需考慮局部總線(xiàn)一側的邏輯控制電路和用于配置的外部EEP-ROM,而不必考慮PCI協(xié)議的具體實(shí)現方法,這樣就大大簡(jiǎn)化了設計難度,縮短了開(kāi)發(fā)周期。
PCI9030要求有一塊EEPROM作為初始化存儲器。在系統加載時(shí),PCI9030先從該EEPROM中加載初始數據,進(jìn)行初始設置,因此,EEP-ROM中的信息是否正確決定了PCI卡的加載和運行是否正常。本設計選用ST93CS56作為PCI9030的初始化存儲器,其結構方案如圖2所示。

1.2 CAN總線(xiàn)接口的實(shí)現
該通信卡中CAN總線(xiàn)接口部分實(shí)現有以下兩種常用的方法:
(1) 獨立CAN總線(xiàn)控制芯片實(shí)現
即采用飛利浦公司的SJA1000獨立CAN控制器來(lái)實(shí)現CAN協(xié)議。這種方法的優(yōu)點(diǎn)是能實(shí)現較復雜的功能,靈活性也不錯,但由于它是獨立的控制器,設計通信卡擁有4個(gè)CAN網(wǎng)段就需要4片SJA1000,這樣會(huì )造成資源冗余,系統會(huì )比較龐大,而且穩定性也會(huì )受影響,設計難度也較大。
(2) 帶CAN接口的微控制器實(shí)現
該方法具有代表性的有飛利浦公司的ARM芯片LPC2294,它集成有4路片上CAN總線(xiàn)控制器,能很方便地實(shí)現多路CAN總線(xiàn)接口,減小系統規模,提高系統穩定性。
比較上述兩種方法,在傳統的SJA1000中,接收過(guò)濾只能滿(mǎn)足一些規律性較高的ID篩選過(guò)濾,或對個(gè)數較少的ID (一般小于10~15個(gè))進(jìn)行任意篩選過(guò)濾,而難以實(shí)現更復雜的任意ID進(jìn)行篩選過(guò)濾,這無(wú)疑增加了系統軟件設計及運行負擔。而第二種設計方法相對較為簡(jiǎn)便。由于LPC2294微控制器中為所有CAN控制器提供了全局的接收標識符查詢(xún)功能,因而能容易地設計較復雜的ID接收過(guò)濾,其工作的重點(diǎn)主要在A(yíng)RM芯片的軟件設計上。本文采用第二種方法來(lái)實(shí)現CAN總線(xiàn)接口,并采用PCA82C250作為CAN總線(xiàn)驅動(dòng)器,同時(shí)將6N137連入CAN控制器和CAN驅動(dòng)器之間以降低CAN總線(xiàn)對網(wǎng)關(guān)卡的電磁干擾。圖3所示是LPC2294中一個(gè)CAN接口的連接圖,其它接口與之類(lèi)似。

1.3 微控制器與PCI9030之間的硬件接口設計
電子血壓計相關(guān)文章:電子血壓計原理
評論