国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于8位高性能微控制器P87C591實現嵌入式CAN控制器的設計

電子設計 ? 來源:世界電子元器件 ? 作者:鄧柯軍;李偉 ? 2020-04-10 08:05 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

引言

現場總線技術是一種基于現場設備之間進行數據通訊的新型總線系統,它綜合了計算機技術、數字通訊技術、自動控制技術、網絡技術和智能儀表等各種技術手段,從根本上突破了傳統的“點對點”式的模擬信號或數字—模擬信號控制的局限性,構成了一種全分散、全數字化、智能化雙向、互連、多變量、多結點的通信控制系統

CAN總線是德國BoSCH公司為解決現代汽車中眾多的控制與測試儀器之間的數據交換而開發的一種串行數據通訊協議。CAN總線以其高性能、高可靠性及其獨特的設計越來越受到人們的重視,并被公認為是汽車電控系統中最有前途的總線之一。奔馳、寶馬、大眾等一些國際著名汽車生產廠家已經在各自的產品中采用了CAN總線技術。目前,國內的汽車生產廠家也已經開始重視該項技術。毫無疑問,CAN總線技術將是今后車載網絡領域的主流協議標準。

P87C591芯片的特點

P87C591是一個單片8位高性能微控制器,除了80C51的標準特性之外,器件還為實際應用提供許多專用的硬件功能。片中帶16K字節內部程序存儲器,可外部擴展到64K字節;512字節片內數據RAM,可外部擴展到64K字節;并且有3個16位定時/計數器T0, T1(標準80C51)和附加的T2(捕獲&比較),2個8位分辨率的脈寬調制輸出(PWM),包含一個看門狗定時器T3。P87C591中包括4個中斷優先級,l5個中斷源,為編寫高效率的程序軟件提供了強大的硬件支持。

P87C591是NXP半導體公司推出的帶有在片CAN控制器SJA 1000的新型微控制器。它完全履行CAN 2.0規范并提供一個獨立CAN控制器的軟件移植路徑。其中包括增強型驗收濾波器、支持系統維護、診斷、系統優化以及接收FIFO特性。該嵌入式CAN控制器包括了具有CAN的擴充特性。該嵌入式CAN控制器包括了下列功能模塊:

① CAN內核模塊根據CAN 2. 0規范控制CAN幀的接收和發送。

② CAN接口包含5個實現CPU與CAN控制器連接的特殊功能寄存器

③ CAN控制器的發送緩沖區能夠保存一個完整的CAN信息格式。只要通過CPU啟動發送,信息字節就從發送緩沖區傳輸到CAN內核模塊。

④ 所有驗收濾波器驗收的接收數據都保存在接收FIFO中。取決于操作模式和數據長度的不同,最多可存放21個CAN信息。

⑤ 當接收一個信息時,CAN內核模塊將串行位流轉換成并行數據輸入到驗收濾波器,通過該可編程濾波器,P87C591確定實際接收到的信息。

P87C591微控制器內部總線通過80C51微處理器接口與PeIiCAN相連。通過CANADR(地址)、CANDAT(數據)、CANMOD(模式)、CANSTA(狀態)和CANCON(控制)5個特殊功能寄存器對PeIiCAN寄存器和RAM區進行訪問。圖1為P87C591的功能框圖。

基于8位高性能微控制器P87C591實現嵌入式CAN控制器的設計

基于P87C591的CAN總線控制系統的設計研究

硬件電路設計

本文所設計的控制系統的CAN總線節點硬件電路由微處理器(P87C591)、CAN總線通信接口收發器(NXP公司的82C250)和功能裝置(傳感器、執行器等)組成。如 圖2所示為控制系統CAN總線節點通訊相關的硬件電路原理圖。由于P87C591本身含有CAN模塊,因此不需要外加CAN控制器,所需要的外部元件僅僅是一個晶振加兩個電容,一個連接到復位腳的電容(使用片內復位電路)以及一個收發器用于將P87C591連接到CAN總線。

為了防止干擾,在CAN總線節點硬件設計上采取了以下措施:

①82C250與CAN總線的接口部分采取了抗干擾措施。82C250的CANH和CANL引腳各自通過一個5? 的電阻與CAN總線相連,電阻可起到一定的限流作用,保護82C250免受過流的沖擊。CANH和CANL與地之間并聯了兩個30pF的小電容,可以起到濾除總線上的高頻干擾和一定的防電磁輻射能力。另外在兩根CAN總線接入端與地之間分別反接了一個保護二極管,當CAN總線有較高的負電壓時,通過二極管的短路可起到一定的過壓保護作用。

② 總線兩端應接有兩個120?電阻,對于匹配總線阻抗起著重要的作用,忽略掉它們會使數據通信的抗干擾性及可靠性大大降低甚至無法通信。

軟件設計

在CAN總線程序設計中,初始化程序是整個軟件設計中的重點和難點,它直接關系到系統能否正常工作。對CAN 控制器進行初始化,實際上就是對集成CAN控制器的P87C591芯片中的寄存器進行初始化設置,并對報文接收緩沖區進行設置。內容包括:操作模式、TXDC輸出管腳的配置、總線定時、驗收濾波器、中斷等。CAN控制器初始化流程圖如圖3所示。

對于CAN控制器的初始化,只與表1中所列寄存器相關。大多數CAN寄存器具有一個方便的恢復特性,在硬件復位或使CAN控制器進入復位模式后用戶配置可保持不變(表1中標注“不變”)。

CAN初始化子程序如下:

void init_can_controller(void)

{

/*進入CAN控制器復位模式*/

CANMOD=0x01; /*將CAN控制器設置為復位模式以啟動初始化*/

/*TXDC Port (P1.1)配置*/

P1M2=P1M2|0x02; /*管腳TXDC設置為推挽模式*/

/*配置與CAN有關的中斷*/

CANSTA=0x03; /*使能接收和發送中斷*/

/*CAN位定時的配置*/

CANADR=BTR0; /*BTR0和BTR1編程為100kbit/s,在16MHz條件下*/

CANDAT=0x00;

CANADR=BTR1;

CANDAT=0x14; /*用戶可根據具體的CAN網絡來調整BTR0、BTR1的參數*/

/*驗收濾波器1配置為接收ID=10000000XXX*/

CANADR=ACR0; /*將地址設置到驗收代碼寄存器0(BANK1)*/

CANDAT=0x80; /*驗收代碼0用于濾波*/

CANADR=AMR0; /*將地址設置到驗收屏蔽寄存器0(BANK1)*/

CANDAT=0x00; /*BANKl:與驗收屏蔽0有關*/

CANDAT=0xFF; /*BANKl:與驗收屏蔽1無關,允許任何數據通過濾波器*/

CANDAT=0xFF; /*BANKl:與驗收屏蔽2無關,允許任何數據通過濾波器*/

CANDAT=0xFF; /*BANKl:與驗收屏蔽3無關,允許任何數據通過濾波器*/

CANADR=ACFMOD; /*將地址設置到ACF模式寄存器*/

CANDAT=0xFF; /*單驗收濾波器使用29位ID(EFF)*/

CANADR=ACFPRIO; /*將地址設置到ACF優先級寄存器*/

CANDAT=0xFF; /*所有濾波器都為高優先級*/

CANADR=ACFEN; /*將地址設置到ACF使能寄存器*/

CANDAT=0x01; /*使能Bankl的驗收濾波器*/

/*選擇操作模式退出CAN控制器復位模式*/

CANMOD=0x00; /*使CAN控制器進入操作模式*/

}

結束語

本 文從硬件和軟件的角度對內嵌CAN控制器(SJA1000)的P87C591進行了詳細的介紹,不僅給出了P87C591的CAN總線硬件電路原理圖,還給出了CAN總線的初始化子程序。P87C591是個高性能的CAN微控制器,可用于汽車和通用的工業應用。尤其在汽 車 車身控制系統中它可以發揮很好的作用,通過使用該系統進行CAN總線的車身控制,可以簡化線路,減少車內線束連接的復雜性,保證信號無干擾、實時的傳輸,并且實現系統實時診斷、測試和報警功能。隨著汽車電子技術的發展,其在汽車電控系統中必將得到更廣泛的應用。

責任編輯:gt


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 微控制器
    +關注

    關注

    48

    文章

    8381

    瀏覽量

    164580
  • 嵌入式
    +關注

    關注

    5198

    文章

    20449

    瀏覽量

    334051
  • CAN
    CAN
    +關注

    關注

    59

    文章

    3067

    瀏覽量

    472748
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    STM8微控制器系列產品

    STM8系列微控制器8微控制器平臺基于高性能8
    發表于 07-10 07:00

    STM32F030C8T6微控制器有哪些性能

    意法半導體MCU STM32F030C8T6微控制器集成了以48 MHz頻率運行的高性能Arm內核M0 32RISC內核,高速嵌入式存儲
    發表于 12-09 07:20

    GD32E5高性能微控制器

    GD32E5高性能微控制器,采用臺積電低功耗40納米(40nm)嵌入式閃存工藝構建,具備業界領先的處理能力、功耗效率、連接特性和經濟的開發成本。推動嵌入式開發向高精度工業
    發表于 12-16 08:13

    基于P87C591CAN總線系統智能節點設計

    基于P87 C591CAN總線系統智能節點設計Design of CAN System Intelligent Node Based on P87
    發表于 03-30 16:55 ?45次下載

    P87C591內嵌CAN控制器的應用設計

    獨立的CAN 控制器芯片需要外接一個微處理,接受外部CPU 的控制才能運行。如果微處理內部帶有CAN
    發表于 04-15 09:32 ?16次下載

    低成本嵌入式多媒體微控制器的設計與實現

    本文針對低成本嵌入式應用設計實現了一個介于微控制器(MCU)與數字信號處理(DSP)之間的多媒體功能強化的微控制器架構(ME-MCU),它
    發表于 08-19 11:11 ?21次下載

    基于P87C591CAN總線超聲測距系統設計

    基于P87C591CAN 總線超聲測距系統設計作者: 齊齊哈爾大學 董晶 劉樹東戴學豐 紹林來源:單片機與嵌入式系統應用摘要介紹一種以Philips 公司的P87C591 作為超聲
    發表于 02-06 12:23 ?32次下載

    CAN 2.0B 標準新型16 微控制器

    CAN 2.0B 標準新型16 微控制器 飛利浦半導體日前宣布推出高性能16 XA 微控制器
    發表于 03-20 14:24 ?32次下載

    基于P87C591的信號采集節點的設計

    介紹了CAN總線和P87C591單片機的特點,給出了基于P87C591單片機的信號采集節點的軟、硬件設計,指出了硬件電路設計中應注意的問題,在軟件設計中重點介紹了節點初始化、報文發送
    發表于 12-07 14:10 ?17次下載

    基于P87C591CAN總線超聲測距系統設計方案

    基于P87C591CAN總線超聲測距系統設計方案  介紹一種以Philips公司的P87C591作為超聲波傳感控制核心及
    發表于 03-29 15:08 ?1300次閱讀
    基于<b class='flag-5'>P87C591</b>的<b class='flag-5'>CAN</b>總線超聲測距系統設計方案

    基于P87C591CAN總線信號采集節點的設計

      介紹了CAN總線和P87C591單片機的特點,給出了基于P87C591單片機的信號采集節點的軟、硬件設計,指出了硬件電路設計中應注意的問題,在軟件設計中重點介紹了節點初始化、報文發
    發表于 12-10 10:04 ?2911次閱讀
    基于<b class='flag-5'>P87C591</b>的<b class='flag-5'>CAN</b>總線信號采集節點的設計

    P8xC591_微控制器在_CAN_中的應用

    P8xC591 是一個高性能CAN 微控制器 可用于汽車和通用的工業應用 除了具有 Philips Rx+內 核 的增強特性之外 器件還為這些應用提供許多專用的硬件功能。
    發表于 01-19 15:28 ?10次下載

    高性能16XA微控制器系列

      飛利浦半導體日前宣布推出高性能16XA微控制器系列的新成員XA-C3,專門用于“控制器區域網路(C
    發表于 09-20 12:21 ?5次下載

    CAN 控制器的單片8 微控制器

    CAN 控制器的單片8 微控制器
    發表于 09-22 10:06 ?8次下載
    帶<b class='flag-5'>CAN</b> <b class='flag-5'>控制器</b>的單片<b class='flag-5'>8</b> <b class='flag-5'>位</b><b class='flag-5'>微控制器</b>

    Atmel ATmega644P/V 8AVR微控制器深度剖析

    Atmel ATmega644P/V 8AVR微控制器深度剖析 在嵌入式系統設計領域,選擇一款合適的
    的頭像 發表于 03-05 16:20 ?54次閱讀