基于uclinux 的CAN總線嵌入式驅(qū)動(dòng)編程
5 CAN總線的嵌入式系統(tǒng)硬件設(shè)計(jì)
本設(shè)計(jì)選用Samsung公司的S3C4510B作為嵌入式系統(tǒng)的微處理器芯片,該處理器是16/32位RISC微處理控制器,內(nèi)含由ARM公司設(shè)計(jì)的16/32位ARM7TDMI RISC處理器核,適用于價(jià)格及功耗敏感的場合.除內(nèi)核外,該微處理器的片內(nèi)外圍功能模塊包括:2個(gè)帶緩沖描述符的HDLC通道;2個(gè)UART通道;2個(gè)GDMA通道;2個(gè)32位定時(shí)器及可編程I/O口.CAN控制器選用philips公司的SJA1000,該芯片與PCA82C200電氣兼容,帶64字節(jié)先進(jìn)先出(FIFO)堆棧,兼容協(xié)議CAN2.0B,支持11位和29位識(shí)別碼,位速率可達(dá)1Mbps,24MHZ時(shí)鐘頻率,芯片內(nèi)含寄存器,可由用戶配置CAN總線波特率,設(shè)置驗(yàn)收屏蔽標(biāo)識(shí)碼,可配置系統(tǒng)為PeliCAN 模式或BasicCAN模式,出錯(cuò)告警等.
該系統(tǒng)采用82C250作為收發(fā)器,其硬件連線如圖(1)所示.AD0~AD7與S3C4510B的p0~p7連線,/cs接p12,ALE接p13,/RD接p14,/wr接p15,/int接XINTREQ0.
圖1 SJA1000硬件連線
6 驅(qū)動(dòng)軟件設(shè)計(jì)
圖2 CAN總線初始化框圖
本設(shè)計(jì)中,CAN總線驅(qū)動(dòng)程序是作為一個(gè)模塊放在linux/deriver/char/文件夾里面,軟件流程如圖(2)所示,其設(shè)計(jì)詳細(xì)介紹如下.
評(píng)論