999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于GT2440和Linux的CAN總線驅動開發設計

2012-03-15 07:45:56
電子世界 2012年11期
關鍵詞:嵌入式設備系統

1.引言

由于CAN總線的高性能和可靠性,所以被廣泛地應用于工業自動化、船舶、醫療設備、工業設備等方面。而目前多數嵌入式處理器都不帶CAN總線控制器,本文基于深圳恒天智信科技公司的GT2440開發板和MSG-3CM型CAN總線模塊開發板,在linux操作系統環境下,詳細介紹了開發CAN總線設備驅動程序的方法與過程。

2.硬件部分

2.1 GT2440嵌入式開發系統

GT2440是一款具有極高性價比的嵌入式開發系統,CPU處理器采用Samsung S3C2440A,主頻400MHz;板載64M SDRAM、256M Nand Flash、2 M Nor Flash;板載5線異步串行口(UART0)、10M以太網RJ-45接口、USB HOST接口、USB Slave B型接口和一個SD卡存儲接口;集成了4線電阻式觸摸屏接口和JTAG接口等。

2.2 S3C2440A處理器

S3C2440A是由三星公司推出的16/32位RISC微處理器,最高主頻可達533MHz,處理器內部集成SDRAM控制器、LCD控制器、4通道DMA、3通道UART、I2C總線接口、I2S音頻編解碼器接口、SD接口、2路SPI接口、8通道10位A/D控制器和camera接口等。

2.3 CAN總線模塊

CAN通信電路主要由CAN控制器和CAN收發器組成,本文采用的是MSG-3CM型CAN總線模塊開發板,其原理圖如圖1所示。圖中13~16引腳連著CPU,其余的除了INT和中斷相關之外,都連著TJA1050收發器。

MSG-3CM型CAN總線模塊開發板的控制芯片是MICROCHIP公司的MCP2515[1],MCP2515是Microchip Technology Inc.(美國微芯科技有限公司)生產的一款控制局域網絡(CAN)協議的控制器,完全支持CAN總線V2.0A/B技術規范;能夠發送和接收標準和擴展報文。它還同時具備驗收過濾以及報文管理功能;該器件包含三個發送緩沖器和兩個接收緩沖器。其與GT2440開發板的通訊是通過行業標準串行外設接口(SPI)來實現的,其數據傳輸速率高達5Mb/s。

TJA1050作為CAN總線收發器芯片,提供了CAN控制器與物理總線之間的接口,有對CAN總線的差動發送和接受功能[2]。當CAN控制器要從TJA1050接受一個數據時,首先RXnBF信號必須有效(為低電平),然后TJA1050收發器將數據通過RXCAN引腳傳入到對應的第n+1個緩沖區;同理,當CAN控制器要發送數據給TJA1050時,TXnRTS信號必須有效(為低電平),然后控制器將第n+1個緩沖區的數據通過TXCAN引腳傳入到收發器TJA1050。

3.CAN總線驅動程序設計

3.1 搭建嵌入式Linux系統開發環境

搭建開發環境的過程為:

(1)在Win7系統下安裝虛擬機vmware6.0,在虛擬機里安裝RHEL5操作系統。在RHEL5操作系統下用交叉編譯工具編譯開發板所需的鏡像和文件,使用Samba服務器實現了Win7和RHEL5的文件共享,在Win7系統下可以通過串口或USB直接下載鏡像和文件到GT2440開發板上。

(2)由于win7系統不帶超級終端,所以串口終端使用的是SecureCRT5.5軟件,SecureCRT是一款支持SSH(SSH1和SSH2)的終端仿真程序,同時支持Telnet和rlogin協議,SecureCRT是一款用于連接運行包括Windows、UNIX和VMS的遠程系統的理想工具。筆記本電腦和開發板之間使用USB轉串口線連接,這樣就可以在筆記本電腦上對開發板進行開發操作。

3.2 Linux內核的移植

本設計使用的bootloader是深圳恒天智信科技公司自己開發的u-boot,用J-LINK V8仿真器連接好開發板和筆記本電腦,打開j-flash進行相關的配置,然后將u-boot燒寫進NOR Flash,然后重啟就可以在secureCRT串口終端打印出u-boot相關信息,根據提示就可以進行下載操作了。從官方網站上下載Linux2.6.38內核源代碼,通過Samba服務器將源代碼復制到RHEL5操作系統共享目錄下,使用tar命令解壓到/opt目錄。在/opt/linux-2.6.38.6/目錄下使用交叉編譯工具對內核進行修改、配置和編譯。在移植CAN總線驅動之前,需要移植板載256M NAND Flash的驅動、yaffs2文件系統等。

3.3 CAN總線驅動程序

Linux系統設備[3]分為三種基本類型:字符設備、塊設備、網絡設備。CAN總線屬于字符設備,是個能夠像字節流(類似文件)一樣被訪問的設備。在Linux系統中,以文件名的形式在/dev目錄下建立CAN總線設備文件,應用程序可以通過系統調用函數open()打開此文件,建立起與設備的連接,然后通過函數read()、write()、release()、ioctl()等函數調用對目標設備進行操作。內核是通過主設備號將設備驅動程序和設備文件相連的,而構成驅動程序的一個重要數據結構就是file_operations,內核就是通過這個結構來訪問驅動程序的。file_operations中的成員為一系列指向各操作函數的指針,這些操作函數主要負責系統調用的實現,不同類型的設備文件系統有不同類型file_operations結構。

CAN總線的file_operations結構[4]定義為:

圖1 MSG-3CM型CAN總線模塊開發板原理圖

根據CAN通信協議和系統應用的需要,在驅動程序中定義了CanData的數據結構以傳輸數據,結構如下:

根據需要定義一個Mcp2515_DEV的數據結構,用于記錄接收緩沖區運行的各種狀態:

定義并初始化完成file_operations結構后,必須定義一個初始化函數,在這里定義了一個名為GT2440_MCP2515_init()的函數,主要完成的工作有:

(1)軟件復位,進入配置模式,設置CAN總線波特率,清空接收和發送緩沖區,切換MCP2515到正常狀態,聲明CAN的數據格式等。

(2)注冊設備。注冊設備所使用的函數原型是:int register_chrdev(unsigned int major,const char*name,struct file_operations *fops)其中major是主設備號,name是設備名稱,fops就是內核訪問設備的接口。

(3)注冊設備使用的中斷。因為中斷信號往往是通過特定的中斷信號線傳輸的,任何一款芯片留給中斷信號的接口都是有限的,所以內核會維護一個中斷信號線注冊表,模塊要使用中斷就得向它申請一個中斷通道,當它使用完該通道之后要釋放該通道。這里使用的就是函數request_irq(MCP2515_IRQ,s3c2440_isr_mcp2515,SA_INTERRUPT,DEVICE_NAME,s3c2440_isr_mcp2515)。

對驅動程序的編譯添加一般有兩種方式:靜態編譯進內核和模塊方式。為了便于調試,本文選擇模塊方式,首先將驅動程序復制到/linux-2.6.38.6/drivers/char中,然后經過相關配置后,使用insmod工具將編譯好的模塊加載到內核中,然后編寫CAN總線測試程序,經過交叉編譯后將測試程序下載到GT2440開發板中,最后在SecureCRT終端運行測試程序,驗證了方案的可行性。

4.結束語

本文介紹了在GT2440和linux平臺下擴展CAN總線控制器的具體方法,同時詳細給出了開發CAN總線驅動程序的過程。隨著嵌入式系統的發展,CAN通信設備與嵌入式系統的實際應用結合會越來越廣泛。

[1]Microchip.帶有SPI接口的獨立CAN控制器[M].Microchip,2005.

[2]饒運濤.現場總線CAN原理與應用技術[M].北京:北京航空航天大學出版社,2007.

[3]宋寶華.linux設備驅動開發詳解[M].北京:人民郵電出版社,2008.

[4]佟鳴宇,彭開香.基于ARM芯片的CAN總線接口設計與實現[J].計算機工程與設計,2009,30(7):1574-1576.

猜你喜歡
嵌入式設備系統
諧響應分析在設備減振中的應用
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
搭建基于Qt的嵌入式開發平臺
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
原來他們都是可穿戴設備
消費者報道(2014年7期)2014-07-31 11:23:57
主站蜘蛛池模板: 玖玖精品视频在线观看| 免费不卡在线观看av| 88国产经典欧美一区二区三区| 欧美精品不卡| 午夜视频www| 亚洲人成网站色7799在线播放| 亚国产欧美在线人成| 亚洲国产AV无码综合原创| 久久大香伊蕉在人线观看热2| 中美日韩在线网免费毛片视频| 日本不卡视频在线| 国产精品一区在线观看你懂的| 91口爆吞精国产对白第三集 | 国产成熟女人性满足视频| 亚洲无线观看| 韩国v欧美v亚洲v日本v| 国产成人亚洲精品无码电影| 亚洲国产日韩欧美在线| 欧美特黄一免在线观看| 日本高清免费一本在线观看| 午夜视频免费一区二区在线看| 色老头综合网| 色偷偷一区二区三区| 色首页AV在线| 99九九成人免费视频精品| 久久香蕉国产线看观看精品蕉| 国内熟女少妇一线天| 欧美色亚洲| 视频一本大道香蕉久在线播放 | 欧美亚洲日韩中文| 日韩国产综合精选| 国产拍揄自揄精品视频网站| 青青草原国产免费av观看| 第一页亚洲| 毛片网站在线播放| 久久不卡国产精品无码| 91福利国产成人精品导航| 青青青视频蜜桃一区二区| 成人综合在线观看| 日韩人妻少妇一区二区| 亚洲日韩欧美在线观看| 激情影院内射美女| 日韩第一页在线| 精品无码一区二区三区电影| 在线视频亚洲欧美| 国产成本人片免费a∨短片| 亚洲另类第一页| 亚洲永久色| 青青青国产在线播放| 国产免费羞羞视频| 狠狠久久综合伊人不卡| 亚洲视频色图| 谁有在线观看日韩亚洲最新视频| 久一在线视频| 欧美日韩专区| 国产a v无码专区亚洲av| lhav亚洲精品| 在线观看亚洲成人| 国产99在线观看| 99精品热视频这里只有精品7| 日韩无码视频播放| 久久人与动人物A级毛片| 538国产视频| 久久精品一卡日本电影 | 国产在线视频欧美亚综合| 亚洲经典在线中文字幕| 国产精品永久在线| 国产va在线观看免费| 国产精品 欧美激情 在线播放| 九九视频免费看| 一本色道久久88| 日韩精品无码免费一区二区三区| 日韩无码视频专区| 久视频免费精品6| 欧美在线精品一区二区三区| 色AV色 综合网站| 国产成人精品男人的天堂下载 | 久久青青草原亚洲av无码| 国产一区自拍视频| aⅴ免费在线观看| 欧美有码在线| 宅男噜噜噜66国产在线观看|