嵌入式系統(tǒng)的CAN接口電路
基于arm7架構(gòu)嵌入式系統(tǒng)的CAN接口硬件模塊包括Samsung公司的嵌入式微處理器S3C44BOX和Philips公司的CAN控制器芯片SJAl000和CAN總線收發(fā)器PCA82C250($0.6186)。8KB Cache、 Samsung S3C44BOX微處理器是三星公司專為手持設(shè)備和一般應(yīng)用提供的高性價比和高性能的微控制器解決方案,它使用arm7TDMI CPU核,工作在66MHZ。為了降低系統(tǒng)總成本和減少外圍器件,這款芯片中還集成了下列部件:外部存儲器控制器、LCD控制器、4個DMA通道、2通道異步UART單元、1個同步串行口(SIO)、1個多主12C總線控制器、1個I Is總線控制器,5通道PWM定時器及一個內(nèi)部定時器、71個通用I/O口、8個外部中斷源、實時時鐘、8通道10位ADC等。
CAN總線控制器
CAN總線控制器選用Philips公司的SJAl000。 SJAl000是一款獨立的控制器,用于汽車和一般工業(yè)環(huán)境中的控制器局域網(wǎng)絡(luò)(CAN)。它是PHILIPS半導(dǎo)體PCA82C200 CAN控制器(BasicCAN)的替代產(chǎn)品。而且,它增加了一種新的工作模式(PeliCAN),這種模式支持具有很多新特性的CAN2.0B協(xié)議。SJA1000($2.8080)是新一代CAN控制器,有如下特點:①和PCA82C200獨立CAN控制器引腳兼容及電氣兼容;②SJA1000有兩種工作模式:基本CAN模式(BASIC CAN)和增強CAN模式(PELI CAN),支持CAN2.0A/B協(xié)議;③同時支持11位和29位ID,位速率可達1M,具有總線仲裁功能;④擴展的接收緩沖器(64字節(jié)、先進先出FIFO),增強的環(huán)境溫度范圍(-40-+125℃);⑤檢錯和糾錯能力加強;⑥支持帶電插拔。
SJA1000方框圖如圖1所示。其中接口管理邏輯IML負責(zé)連接外部主控制器,該控制器可以是微型控制器或其它任何控制器。接口管理邏輯IML接收來自微控制器的命令,分配控制信息緩存器發(fā)送緩存器TBF、接收緩存器RBF0和RBF1,并為微控制器提供中斷和狀態(tài)信息。發(fā)送緩存器TBF由10個字節(jié)存貯單元組成,存貯由微控制器寫,將被發(fā)送至CAN總線網(wǎng)絡(luò)的報文。接收緩存器0和1(RBF0、 RBF1)均由10個字節(jié)組成,交替存貯從總線接收的報文,當一個緩存器分配給CPU,位流處理器可以對另一個進行寫操作。位流處理器是一個控制發(fā)送緩存器和接收緩存器(并行數(shù)據(jù))與CAN總線(串行數(shù)據(jù))之間數(shù)據(jù)流的序列發(fā)生器。位定時邏輯將SJA1000同步于CAN總線上的位流。驗收濾波器支持11 位和29位標識符的濾波,所有收到的報文由驗收濾波器驗收并存儲在接收FIFO。錯誤管理邏輯按照CAN協(xié)議完成錯誤界定。