浓毛老太交欧美老妇热爱乱,蜜臀性色av免费,妺妺窝人体色www看美女,久久久久久久久久久大尺度免费视频,麻豆人妻无码性色av专区

位置:51電子網(wǎng) » 技術資料 » 測試測量

C8051F040中CAN控制器的應用

發(fā)布時間:2008/6/3 0:00:00 訪問次數(shù):809

        

    

    

     摘要:介紹c8051f040單片機內(nèi)部can控制器的應用。詳細敘述此控制器的構成及其訪問方式,指出在使用時是如何配置控制器的相關控制寄存器,并且給出can控制器在應用中的物理層硬件電路和應用層軟件設計。 關鍵詞:can控制器 寄存器 報文對象 c8051f040 單片機與can總線連接的傳統(tǒng)方式是將cpu與總線控制器和總線收發(fā)器相連后再接入總線網(wǎng)絡,這樣使cpu外圍電路復雜化,整個系統(tǒng)受外部影響較大。為了解決這一問題,很多單片機廠商紛紛將can控制器集成在單片機芯片上。目前,單片機內(nèi)部集成的can控制器有motorola公司的mc68hc912dg128a、philips公司的p87c591、atmel公司的at89c51cc01和at89c51cc02、intel公司的tn87c196ca和tn87c196cb以及cygnal公司的c8051f040等。 不同單片機內(nèi)部can控制器的使用方法有所不同,但存在著很多相似之處。這里以c8051f040為列詳細介紹其內(nèi)部can控制器的使用方法,希望通過這篇文章能給初學帶來方便,并能和廣大的單片機愛好者就這一問題做進一步的討論。1 c8051f040 can控制器構成及訪問方式 c8051f040單片機是美國cygnal公司生產(chǎn)的完全集成的混合信號系統(tǒng)級芯soc(system on chip),具有與8051指令集完全兼容的cip-51內(nèi)核。它在一塊芯片上集成了構成一個單片機數(shù)據(jù)采樣或控制系統(tǒng)所需要的幾乎所有模擬和數(shù)字外設及其它功能部件。它具有64kb flash、4352b ram、can控制器2.0、2個串行接口、5個16位定時器、12位a/d轉(zhuǎn)換器、8位a/d轉(zhuǎn)換器及12位d/a轉(zhuǎn)換器等,它內(nèi)部還帶有jtag接口,使調(diào)試變得非常方便。 c8051f040內(nèi)部集成的can控制器為bosch can控制器。此can控制器有以下幾部分構成:can內(nèi)核、報文ram(與c8051 ram相互獨立)、報文處理狀態(tài)機制和can控制寄存器。其結構框圖如圖1所示。 在can控制器里只有三個寄存器可通過cip-51中的特殊功能寄存器直接訪問,其它的寄存器只能通過can0adr、can0dath和can0datl寄存器以地址索引的方式間接訪問。在使用can控制器時,重點和難點是對can控制器的寄存器的使用,其內(nèi)部寄存器的分類及其主要功能如下:(1)can控制器協(xié)議寄存器 該協(xié)議寄存器是用來配置can控制器,處理各種中斷,監(jiān)控總線狀態(tài)以及置控制器為測試模式。can控制器協(xié)議寄存器可使用c8051 mcu特殊功能寄存器通過索引方式間接訪問,其中有些還可以很方便的通過c8051內(nèi)部特殊功能寄存器直接尋址來訪問。這部分的寄存器有:can控制寄存器(can0cn)、can狀態(tài)寄存器(can0sta)、can測試寄存器(cantst)、錯誤計數(shù)寄存器、位定時寄存器和波特率預比列因子擴展寄存器。其中,can0cn、can0sta和cantst可通過c8051 mcu特殊功能寄存器直接訪問,其它的只能通過間接訪問。(2)報文對象接口寄存器 can控制器中有兩組報文對象接口寄存器,它們用來配置報文ram中32個報文對象是用來向can總線發(fā)送數(shù)據(jù),還是從can總線接收數(shù)據(jù)。當其中的一組被設置為向報文ram中寫數(shù)據(jù),另一組則從報文ram中讀取數(shù)據(jù)。利用此接口寄存器可以避免cpu訪問報文ram與can報文接收和發(fā)送緩沖轉(zhuǎn)移之間的沖突。所有的報文對象都存儲在報文ram里面,通過報文對象寄存器對其進行訪問和配置,這些寄存器要通過c8051的can0adr和can0dat寄存器,使用間接索引地址方式來訪問。這部分寄存器有:ifx命令請求寄存器、ifx命令屏蔽寄存器、ifx屏蔽寄存器1、ifx屏蔽寄存器2、ifx仲裁寄存器1、ifx仲裁寄存器2、ifx報文控制寄存器、ifx數(shù)據(jù)寄存器a1、ifx數(shù)據(jù)寄存器a2、ifx數(shù)據(jù)寄存器b1和ifx數(shù)據(jù)寄存器b2。(3)報文處理寄存器 所有的報文處理寄存器都是只讀寄存器。通過讀取它們的值可以實時地判斷相應報文對象的狀態(tài),從而使can控制器能正確運行。它們的標識位由can0adr、can0dath和can0datl通過索引方式間接來訪問。報文處理寄存器提供中斷、錯誤、發(fā)送/接收請求和新數(shù)據(jù)信息。這部分的寄存器包括:中斷寄存器、發(fā)送請求寄存器、新數(shù)據(jù)寄存器、中斷隊列寄存器和報文有效寄存器。 那么,通過can0adr、can0dath和can0datl寄存器以索引方式間接訪問can控制器中寄存器的過程會怎樣呢?因為每個can控制器寄存器都有一個索引號,如果要訪問某一can控制寄存器,只需將此寄存器的索引號寫入can0adr寄存器,而數(shù)據(jù)讀/寫操作通過can0dath和can0datl來完成。例如:如果需要對位定時寄存器重新配置時,只需向can0adr寄存器中寫入0x03,將新配置的數(shù)據(jù)的低字節(jié)寫入can0datl中,高字節(jié)寫入can0dath中。2 can控制器應用時寄存器配置 下面就can控制器在應用時,根據(jù)所要完成功能的不同而需要做的不同配置做具體描述。這包括報文對象初始化處理、發(fā)送對象配置、接收對象配置、中斷處理配置;另外,還有發(fā)送對象的更新、位定時寄存器等配置。2.1 報文對象初始化處理 報

        

    

    

     摘要:介紹c8051f040單片機內(nèi)部can控制器的應用。詳細敘述此控制器的構成及其訪問方式,指出在使用時是如何配置控制器的相關控制寄存器,并且給出can控制器在應用中的物理層硬件電路和應用層軟件設計。 關鍵詞:can控制器 寄存器 報文對象 c8051f040 單片機與can總線連接的傳統(tǒng)方式是將cpu與總線控制器和總線收發(fā)器相連后再接入總線網(wǎng)絡,這樣使cpu外圍電路復雜化,整個系統(tǒng)受外部影響較大。為了解決這一問題,很多單片機廠商紛紛將can控制器集成在單片機芯片上。目前,單片機內(nèi)部集成的can控制器有motorola公司的mc68hc912dg128a、philips公司的p87c591、atmel公司的at89c51cc01和at89c51cc02、intel公司的tn87c196ca和tn87c196cb以及cygnal公司的c8051f040等。 不同單片機內(nèi)部can控制器的使用方法有所不同,但存在著很多相似之處。這里以c8051f040為列詳細介紹其內(nèi)部can控制器的使用方法,希望通過這篇文章能給初學帶來方便,并能和廣大的單片機愛好者就這一問題做進一步的討論。1 c8051f040 can控制器構成及訪問方式 c8051f040單片機是美國cygnal公司生產(chǎn)的完全集成的混合信號系統(tǒng)級芯soc(system on chip),具有與8051指令集完全兼容的cip-51內(nèi)核。它在一塊芯片上集成了構成一個單片機數(shù)據(jù)采樣或控制系統(tǒng)所需要的幾乎所有模擬和數(shù)字外設及其它功能部件。它具有64kb flash、4352b ram、can控制器2.0、2個串行接口、5個16位定時器、12位a/d轉(zhuǎn)換器、8位a/d轉(zhuǎn)換器及12位d/a轉(zhuǎn)換器等,它內(nèi)部還帶有jtag接口,使調(diào)試變得非常方便。 c8051f040內(nèi)部集成的can控制器為bosch can控制器。此can控制器有以下幾部分構成:can內(nèi)核、報文ram(與c8051 ram相互獨立)、報文處理狀態(tài)機制和can控制寄存器。其結構框圖如圖1所示。 在can控制器里只有三個寄存器可通過cip-51中的特殊功能寄存器直接訪問,其它的寄存器只能通過can0adr、can0dath和can0datl寄存器以地址索引的方式間接訪問。在使用can控制器時,重點和難點是對can控制器的寄存器的使用,其內(nèi)部寄存器的分類及其主要功能如下:(1)can控制器協(xié)議寄存器 該協(xié)議寄存器是用來配置can控制器,處理各種中斷,監(jiān)控總線狀態(tài)以及置控制器為測試模式。can控制器協(xié)議寄存器可使用c8051 mcu特殊功能寄存器通過索引方式間接訪問,其中有些還可以很方便的通過c8051內(nèi)部特殊功能寄存器直接尋址來訪問。這部分的寄存器有:can控制寄存器(can0cn)、can狀態(tài)寄存器(can0sta)、can測試寄存器(cantst)、錯誤計數(shù)寄存器、位定時寄存器和波特率預比列因子擴展寄存器。其中,can0cn、can0sta和cantst可通過c8051 mcu特殊功能寄存器直接訪問,其它的只能通過間接訪問。(2)報文對象接口寄存器 can控制器中有兩組報文對象接口寄存器,它們用來配置報文ram中32個報文對象是用來向can總線發(fā)送數(shù)據(jù),還是從can總線接收數(shù)據(jù)。當其中的一組被設置為向報文ram中寫數(shù)據(jù),另一組則從報文ram中讀取數(shù)據(jù)。利用此接口寄存器可以避免cpu訪問報文ram與can報文接收和發(fā)送緩沖轉(zhuǎn)移之間的沖突。所有的報文對象都存儲在報文ram里面,通過報文對象寄存器對其進行訪問和配置,這些寄存器要通過c8051的can0adr和can0dat寄存器,使用間接索引地址方式來訪問。這部分寄存器有:ifx命令請求寄存器、ifx命令屏蔽寄存器、ifx屏蔽寄存器1、ifx屏蔽寄存器2、ifx仲裁寄存器1、ifx仲裁寄存器2、ifx報文控制寄存器、ifx數(shù)據(jù)寄存器a1、ifx數(shù)據(jù)寄存器a2、ifx數(shù)據(jù)寄存器b1和ifx數(shù)據(jù)寄存器b2。(3)報文處理寄存器 所有的報文處理寄存器都是只讀寄存器。通過讀取它們的值可以實時地判斷相應報文對象的狀態(tài),從而使can控制器能正確運行。它們的標識位由can0adr、can0dath和can0datl通過索引方式間接來訪問。報文處理寄存器提供中斷、錯誤、發(fā)送/接收請求和新數(shù)據(jù)信息。這部分的寄存器包括:中斷寄存器、發(fā)送請求寄存器、新數(shù)據(jù)寄存器、中斷隊列寄存器和報文有效寄存器。 那么,通過can0adr、can0dath和can0datl寄存器以索引方式間接訪問can控制器中寄存器的過程會怎樣呢?因為每個can控制器寄存器都有一個索引號,如果要訪問某一can控制寄存器,只需將此寄存器的索引號寫入can0adr寄存器,而數(shù)據(jù)讀/寫操作通過can0dath和can0datl來完成。例如:如果需要對位定時寄存器重新配置時,只需向can0adr寄存器中寫入0x03,將新配置的數(shù)據(jù)的低字節(jié)寫入can0datl中,高字節(jié)寫入can0dath中。2 can控制器應用時寄存器配置 下面就can控制器在應用時,根據(jù)所要完成功能的不同而需要做的不同配置做具體描述。這包括報文對象初始化處理、發(fā)送對象配置、接收對象配置、中斷處理配置;另外,還有發(fā)送對象的更新、位定時寄存器等配置。2.1 報文對象初始化處理 報

相關IC型號

熱門點擊

 

推薦技術資料

音頻變壓器DIY
    筆者在本刊今年第六期上著重介紹了“四夾三”音頻變壓器的... [詳細]
版權所有:51dzw.COM
深圳服務熱線:13692101218  13751165337
粵ICP備09112631號-6(miitbeian.gov.cn)
公網(wǎng)安備44030402000607
深圳市碧威特網(wǎng)絡技術有限公司
付款方式


 復制成功!