全球主流8位MCU芯片詳細解剖No.2:英飛凌 XC866 - 全文

[導讀] XC866是新型8位微控制器系列(XC800)的第一代系列產品,集成高性能8051核、片內FLASH及功能強大的外設集。此外,XC800系列產品內部集成的片 內振盪器和支持3.3V或5.0V單電源供電的嵌入式電壓調節器(EVR)進一步加強了產品性能並有效地節省了系統成本。html

關鍵詞: XC8668位MCU英飛凌

  往期系列文章推薦:編程

  全球主流8位MCU芯片詳細解剖No.1:飛思卡爾 MC9S08AC60網絡

  簡介性能

  XC866是 新型8位微控制器系列(XC800)的第一代系列產品,集成高性能8051核、片內FLASH及功能強大的外設集。此外,XC800系列產品內部集成的片 內振盪器和支持3.3V或5.0V單電源供電的嵌入式電壓調節器(EVR)進一步加強了產品性能並有效地節省了系統成本。XC866除了提供片內 FLASH的產品外,同時推出同系列兼容ROM 產品,爲大批量生產提供了進一步節省成本的空間。spa

  單片機結構圖debug

全球主流8位MCU芯片詳細解剖No.2:英飛凌 XC866

 

  引腳圖設計

全球主流8位MCU芯片詳細解剖No.2:英飛凌 XC866

  多功能引腳舉例調試

  -P0.0 引腳12htm

  TCK_0 JTAG 時鐘輸入blog

  T12HR_1 CCU6 定時器12 硬件運行輸入

  CC61_1 捕獲/比較通道1 輸入/輸出

  CLKOUT 時鐘輸出

  RXDO_1 UART 發送數據輸出

  -P0.1 引腳14

  TDI_0 JTAG 串行數據輸入

  T13HR_1 CCU6 定時器13 硬件運行輸入

  RXD_1 UART 接收數據輸入

  COUT61_1 捕獲/比較通道1 輸出

  EXF2_1 定時器2 外部標誌輸出

  模塊分析

  存儲器結構

  -8K 啓動(boot)ROM 地址:C00H-E000H

  -256字節片內RAM,0~7FH使用直接尋址,80~FFH使用

  (1)寄存器間接尋址

  -128字節SFR 地址80~FFH,使用直接尋址

  -512字節XRAM 地址F000~F200,使用MOVX訪問。當使用R0,R1做地址寄存器時,其XRAM地址的高位地址由寄存器XADDRH 中的值定義。

  -8K/16K 程序存儲器,起始地址0000

  -特殊的EO寄存器操做,容許切換DPTR以及對程序ROM

  -寫操做(指令:MOVC @(DPTR++),A)實現軟件更新

  (2)基本端口結構圖

全球主流8位MCU芯片詳細解剖No.2:英飛凌 XC866

  (3)端口相關寄存器

  - PX_PUDSEL 上拉/下拉選擇寄存器

  -PX_PUDEN 上拉/下拉使能寄存器

  -PX_OD 漏極開路控制寄存器

  - PX_DIR 方向寄存器(P2口只能做爲輸入)

  - PX_ALTSEL0 第二功能選擇寄存器0

  -PX_ALTSEL1 第二功能選擇寄存器1

  - PX_DATA 端口數據寄存器

  其中PX的X爲端口編號,寄存器都是8位,每位對應一個引腳
 

  I2C總線和SPI總線

  I2C總線和SPI總線同屬於「位同步」的串行接口,但又有一些不一樣點:

  nn I2C總線的數據信號須要:起始、中止和ACK信號,要求對方做應答

  I2C總線電路連接

全球主流8位MCU芯片詳細解剖No.2:英飛凌 XC866

  SPI總線:兩條串行數據線,一條時鐘線。數據線分輸出和輸入。對多個部芯片,還須要片選CS。

  SPI總線結構

全球主流8位MCU芯片詳細解剖No.2:英飛凌 XC866
 

  XC866的SSC

  XC866具備高速同步串行通道SSC,可與SPI兼容,也可與8051串口方式0兼容;

  -波特率可獨立編程:它具備專用的,具備重裝載功能的16位波特率發生器;

  -數據寬規定爲2~8位「字符」;

  -可先發送LSB(與8051串口方式0兼容),也可先發送MSB(與SPI兼容);

  -可在時鐘的上升沿或者降低沿對數據進行移位;

  -可產生移位時鐘或者接收移位時鐘;

  -名稱有所不一樣:MOSI=MTSR, MISO=MRST ;

  SSC組成框圖

全球主流8位MCU芯片詳細解剖No.2:英飛凌 XC866

 

  數模轉換器(DA)

  工做原理

全球主流8位MCU芯片詳細解剖No.2:英飛凌 XC866

  DA轉換器芯片

  DA轉換器主要組成部分是電阻網絡和相應的模擬開關陣列。

    模擬量輸出一般爲電流輸出,圖中的運算放大器把電流輸出轉換成電壓輸出,按廠家設計的反饋電阻鏈接,輸出電壓與參考電壓之間知足以下關係:

  Vout= - Vref X (data /(2n-1))

  其中:n爲數字量的位數,data爲輸入的數字量有的芯片自帶數據鎖存器、本身提供參考電壓。芯片型號繁多,常見的有DAC0832等。

  AD轉換器

  -逐次逼近

  -8位或者10位精度,8路模擬通道

  -4個獨立的結果寄存器

  -單次轉換和自動掃描功能

  -採樣時鐘可編程,時鐘分頻器可編程

  -集成的採樣保持電路

  -數據壓縮濾波

  -靈活的中斷產生方式,中斷服務節點可配置

  -能夠關閉ADC模塊,以便下降功耗

  XC866的AD轉換器框圖

全球主流8位MCU芯片詳細解剖No.2:英飛凌 XC866

  AD轉換初始化解說

  AD轉換器初始化程序:

  -SFR_PAGE(_ad0, noSST); // switch to page 0

  -ADC_GLOBCTR = 0x70; // f32,8位寬度

  -ADC_PRAR = 0x94; // 設定仲裁方式和優先

  - SFR_PAGE(_ad1, noSST); // switch to page 1

  -ADC_QMR0 = 0x00; // ADC模式,禁止外部觸發

  -ADC_CRMR1 = 0x01; // ADC模式,開啓請求源

  -SFR_PAGE(_ad0, noSST); // switch to page 0

  -ADC_GLOBCTR |= 0x80; // 開啓模擬部分

  - XC866的ADC使用SFR的7個頁面,每一個頁面佔用地址CAH~CFH和D2H,D3H。隨頁不一樣具備不一樣的內容,用D1H做爲分頁寄存器,肯定使用那個頁。GLOBCTR和PRAR在0頁,QMR0和CRMR1在6頁。

  可編程序計數器陣列PCA和捕獲比較單元CCU

  加強的定時器/計數器模塊,或者多個模塊組合,稱爲PCA/CCU

  - 定時器時鐘可選擇:另外一個定時器溢出或者固定分頻器輸出

  -可選擇捕獲/比較/重裝/PWM輸出等多種功能

  - 多個捕獲/比較/重裝數據寄存器組成多路PWM輸出

  - 捕獲/溢出/匹配都可產生中斷

  - 單獨的重裝載寄存器能夠設定PWM的週期

  XC866的捕獲比較單元CCU6

  捕獲/比較單元6(CCU6)中有兩個獨立的定時器(T12,T13)、可被用來產生脈寬調製(PWM)信號,尤爲適用於控制交流電機的應用場合。CCU6 也支持一些用於塊切換和多相電機的專用控制模式。

  定時器T12 的3 路通道可工做在捕獲和/或比較模式。定時器T13 只能工做在比較模式。

全球主流8位MCU芯片詳細解剖No.2:英飛凌 XC866

 

  多通道控制單元產生的輸出序列可由T12 和/或T13 調製。調製源可選擇並組合使用。

  定時器T12,T13 特性:

  -定時器T12 特性:

  1. 3 路捕獲/比較通道,每路可用做捕獲或比較通道

  2. 支持產生三相PWM(6 路輸出,每路信號對應上橋臂或下橋臂開關)

  3. 16 位精度,最大計數頻率 = 外設時鐘頻率

  4. 單通道死區時間控制 ,避免功率級短路

  5. 同步刷新T12/T13 寄存器

  6. 產生中間對齊和邊緣對齊PWM

  -定時器T13 特性:

  1. 單一比較通道,單輸出

  2. 16 位精度,最大計數頻率 = 外設時鐘頻率

  3. 可與T12 同步

  三相馬達PWM生成簡單介紹

全球主流8位MCU芯片詳細解剖No.2:英飛凌 XC866

  三相不一樣的脈寬值需實時寫入CCU6i的映射寄存器CCU6iSR

  U,V,W三相輸出經過CCU6i和COUT6i引腳配對輸出,極性相反

  各類設置:時鐘選擇,預分頻選擇,死區時間,輸出腳配置,以及多種模式選擇,在此略講。

  三相馬達SPWM信號原理

全球主流8位MCU芯片詳細解剖No.2:英飛凌 XC866

  三角波稱爲「載波」,正弦波稱爲「調製波」。A,B,C三相相位差120度,他們的SPWM波形參數表其實也是相同的,可是也是差120度。

  SPWM波形參數表實際就是每一個三角波週期內相應的脈衝寬度

  三相馬達/無刷電機控制舉例

全球主流8位MCU芯片詳細解剖No.2:英飛凌 XC866

  單片機CCU6輸出的U+/U-;V+/V -和W+/W-經驅動後鏈接到IGBT。

  實時改變週期和脈寬,能夠達到變頻目的,以及調整輸出功率,從而控制馬達轉速。

  工程師們對於XC866的使用問答:

  (1)XC866 應該選擇哪一種IDE

  A:「Miniwigger+KEIL V3破解版

  keil for c51 v8

  infineon dave v2.1

  infineon memtool v4.01.05

  fload 下載器」

  (2)想用Proteus仿真英飛凌的XC866,但是元件庫裏沒有,該怎麼辦?

  A:「因爲Proteus的元件庫裏沒有英飛凌的MCU,本身製做比較困難,若是是其餘經常使用器件,找一個相近的替換一下。能夠採用miniwager, 是英飛凌自家的仿真器,也能夠用南京偉福的Multi-Infineon仿真器。 」

  (3)英飛凌XC866中SCLK時鐘問題

  Q:在DAVE中SSC都已經設置好了,但在keil中編完程序進行仿真時發現SCLK始終爲0,XC866不是SSC設置好就能產生時鐘信號嗎?

  A:「自帶的SPI外設,發數據的時候纔會有時鐘輸出。」

  (4)XC866 mbc 電平 ocds模式求助

  Q: xc866開發板。使用ulink經過ocds接口調試,書上說:若是(MBC,TMS,P0.0)= (0,1,1),將進入OCDS 模式進行程序代碼的調試。首先初始化OCDS,接下來跳轉到程序存儲器的地址0000H 處,執行Flash 或ROM存儲器中的用戶代碼,開始進行調試。在OCDS 模式下,內部數據存儲器的低64 字節(地址00H- 3FH)可選擇映射爲64 字節的監控RAM或內部數據RAM。

  爲何用ulink調試時,mbc引腳爲始終高電平啊,跟書上說的不同啊。用萬用表看的,難道是mbc瞬間置低電平後進入ocds模式,而後又置高。

  用xc800_fload燒寫程序時,必須將mbc引腳專門給接到地,要不不能燒寫。

  A1:「(MBC,TMS,P0.0)= (0,1,1) 指的是芯片復位後這些腳的電平,xc866在復位後會自動檢測這三個腳的電平決定芯片進入下載模式、JTAG模式,仍是運行程序。對於你的問題

  1。  OCDS模式:你的理解多是對的,由於MBC, TMS, P0.0都會連到Ulink, 因此我猜實際流程是這樣的,Ulink先將MBC, TMS, P0.0設置爲0,1,1. 而後復位芯片(Ulink 拉低Reset),釋放復位芯片,這時候芯片就進入 OCDS模式了。

  2。 若是MBC = 0. TMS = 0,則芯片復位後進入BSL 模式,進行串口下載(經過FLoad)」

  A2:也就說,在ulink鏈接下,keil軟件界面點擊debug按鈕後,ulink首先讓芯片復位,而後設定MBC, TMS, P0.0爲(0,1,1)讓芯片進入ocds模式。進入模式後,則MBC, TMS, P0.0的設定則恢復的正常模式。這樣的話,好比在斷點調試時,人爲的按下reset鍵後,芯片能夠進入正常運行模式,程序在正常運行,而不是又進入ocds模式。

  而fload模式,從電路上看,mbc只能被ulink的ocds信號控制,因此須要人工的加低電平,而且燒完程序後,程序是不能運行。
 

  XC86相關資料下載

  一、基於XC866的步進電機閥門控制系統

  二、基於XC866的PWM直流無刷電機的正弦波控制

  三、XC866系列微控制器設計的電動自行車控制器技術

相關文章
相關標籤/搜索