及該模數(shù)轉(zhuǎn)換器均通過該總線單元連接。
[0032]以下將結(jié)合圖1至圖3對本發(fā)明所提供的電機控制MCU芯片進行詳細的說明。如圖1所示,芯片的內(nèi)部資源包括:一 32位的ARM Cortex-MO內(nèi)核(Cortex-MO) I ;一 FLASH程序存儲器(FLASH) 2 FLASH程序存儲器控制器(Flash Controler) 3 ;一 RAM數(shù)據(jù)存儲器(RAM)4 ;—系統(tǒng)時鐘生成單元(Cl0ck_gen)5 數(shù)學(xué)協(xié)處理器(MATH)6 ;—看門狗定時器(Watch Dog Timer) 7 ;一電機控制單元(MCM) 8 ;一 3 個通用定時器(Timer 1/2/3) 9 ;一高速模數(shù)轉(zhuǎn)換器(ADC) 24 ;—高速模數(shù)轉(zhuǎn)換器控制器(ADC Controler) 16 ;一 3個單端輸入或雙端輸入可選的差分結(jié)構(gòu)的可編程模擬放大器(PGA1/2)10 ;—普通的單端輸入可編程模擬放大器(PGA)Il ;—高速模擬比較器(COMPl) 12 ; —串行通信單元(I2C) 13 ; —串行通信單元(UART) 14 ;一串行通信單元(SPI) 15 ;— AMBA總線APB橋接器(APB Bridge) 17 ; —
4組 GP1 口(GP10 P0-P3)18,共 32 個;一溫度傳感器(Temperature Sensor) 27 ;一芯片引腳控制單元(PAD Control) 26 ;一上電復(fù)位(POR)與低電壓復(fù)位(LVR)單元25 ;—線性穩(wěn)壓單元(LD0 2.5V-5.5V)23 ;一內(nèi)部低頻RC時鐘振蕩器(LRC) 20 ;—內(nèi)部高頻RC時鐘振蕩器(HRC) 21、一外部晶體時鐘生成單元(OSC) 22 ;—高頻時鐘鎖相環(huán)(PLL) 19。
[0033]本發(fā)明以32位的ARM Cortex-MO內(nèi)核作為處理器I加以說明,但是本領(lǐng)域普通技術(shù)人員應(yīng)該知道,基于本發(fā)明所公開的思想,該技術(shù)方案并不局限于32位處理器。32位MCU芯片是一顆基于AMBA總線設(shè)計的系統(tǒng)芯片,芯片內(nèi)部的所有數(shù)字IP都是掛接在AMBA(Advanced Microcontroller Bus Architecture)總線之上。
[0034]AHB (高速)總線與APB (低速)總線通過橋接器APB-Bridgel7相連。內(nèi)部高頻RC時鐘振蕩器(HRC) 21和外部晶體時鐘生成單元(OSC) 22的輸出與高頻鎖相環(huán)(PLL) 19相連,它們的輸出送給PLL19進行倍頻。本實施例中,HRC21的輸出頻率為8MHz,精度高達1%, 0SC22為外部8-24MHZ的晶振輸入。
[0035]高頻鎖相環(huán)(PLL) 19用于對來自HRC或OSC的時鐘信號進行倍頻,高頻鎖相環(huán)(PLL) 19的輸出送向時鐘生成單元(Cl0ck_gen)。本實施例中,高頻鎖相環(huán)(PLL) 19的輸出頻率最低為48MHz,最高可達120MHz,倍頻系數(shù)通過寄存器可選,例如PLL的輸入為8MHz,倍頻系數(shù)選擇為8,則高頻鎖相環(huán)(PLL) 19的輸出時鐘頻率為64MHz。
[0036]內(nèi)部低頻RC時鐘振蕩器(LRC) 20為看門狗定時器時鐘的時鐘源,輸出送向時鐘生成單元(Clock_gen)5。本實施例中,LRC的時鐘頻率為32KHz。
[0037]系統(tǒng)時鐘生成單元(Clock_gen)5用于根據(jù)PLL19的輸出時鐘產(chǎn)生芯片的主時鐘HCLK、外設(shè)時鐘PCLK,根據(jù)LRC20的輸出產(chǎn)生看門狗時鐘WDTCLK,并根據(jù)HCLK與PCLK產(chǎn)生其他各外設(shè)模塊的工作時鐘。系統(tǒng)時鐘生成單元(Cl0ck_gen) 5掛接在AHB總線上。
[0038]數(shù)學(xué)協(xié)處理器(MATH) 6用于執(zhí)行32位的有符號或無符號數(shù)的除法運算與正弦、余弦、正切等三角函數(shù)的運算。MATH的運算內(nèi)核PCLK的時鐘頻率可以選擇為接口時鐘HCLK的頻率的2倍。本實施例中,一個32位除法的運算周期為16個PCLK (8個HCLK),運算結(jié)束后產(chǎn)生結(jié)果中斷且結(jié)果有效標志位置位。CORDIC算法采用迭代的方式實現(xiàn),同樣具有結(jié)果中斷、結(jié)果有效標志,運算繁忙標志等功能。數(shù)學(xué)協(xié)處理器(MATH)掛接在AHB總線上。
[0039]如圖2所示,圖2是數(shù)學(xué)協(xié)處理器(MATH)6的結(jié)構(gòu)示意圖。該數(shù)學(xué)協(xié)處理器6包括一運算器單元和一接口模塊。其中運算器單元包括一 DIV (除法)內(nèi)核61以及一 CORDIC內(nèi)核62。該接口模塊包括DIV寄存器63、全局寄存器64以及CORDIC寄存器65。其中全局寄存器64為整個MATH的控制寄存器,存放對應(yīng)的控制數(shù)據(jù),CORDIC寄存器65用于存放運算時輸入的角度值與運算的結(jié)果,DIV寄存器63用于存放除數(shù)、被除數(shù)、商、余數(shù)等除法運算數(shù)據(jù)。
[0040]看門狗定時器7 (Watch Dog Timer)用于作為芯片正常工作時的一個保護模塊。若用戶使用看門狗定時器7,當芯片正常工作時,程序會定時的對看門狗計數(shù)器進行清零,若系統(tǒng)出現(xiàn)故障或程序跑飛,看門狗計數(shù)器7會計數(shù)溢出,看門狗定時器7產(chǎn)生系統(tǒng)復(fù)位,整個芯片將重新開始工作,從而實現(xiàn)對系統(tǒng)的保護。看門狗定時器7 (Watch Dog Timer)掛接在APB總線上。
[0041]電機控制單元(MCM)8能產(chǎn)生用于電機控制的任意可帶死區(qū)的PWM波,內(nèi)置霍爾傳感器與光電編碼器的接口單元、支持硬件剎車中斷功能。其中霍爾傳感器與光電編碼器的接口單元可以根據(jù)輸入的電機霍爾信號或編碼器信號來判斷電機轉(zhuǎn)子的位置信息,并根據(jù)該位置信息實現(xiàn)6路PWM的換相操作。當外部控制系統(tǒng)發(fā)生過流時,電機控制單元中的硬件剎車模塊根據(jù)比較器12的輸出直接關(guān)斷6路PWM波的輸出,從而實現(xiàn)系統(tǒng)的過流保護。該電機控制單元內(nèi)部包含一重復(fù)計數(shù)器,該重復(fù)計數(shù)器用來控制在指定數(shù)目的計數(shù)器周期之后更新定時器的寄存器值,例如設(shè)置重復(fù)計數(shù)器寄存器TIME_RCR的值為6,則PWM定時器需要經(jīng)過6次計數(shù)器周期后才可以更新它的周期寄存器、比較寄存器等相關(guān)寄存器;對于PWM事件觸發(fā)ADC轉(zhuǎn)換,支持在PWM事件發(fā)生時,先經(jīng)過一段的延時后再觸發(fā)ADC轉(zhuǎn)換;電機控制單元(MCM) 8掛接在APB總線上。
[0042]三個通用定時器(Timerl/2/3)9具有輸入定時、捕獲與輸出比較的功能,其捕獲功能可實現(xiàn)對輸入方波信號的周期、占空比的測量,其輸出比較功能可實現(xiàn)PWM波的輸出。3個通用定時器為16位精度,工作時鐘為PCLK的0-65535的任意分頻時鐘。3個通用定時器(Timerl/2/3)掛接在APB總線上。
[0043]高速模數(shù)轉(zhuǎn)換器(ADC) 24,為逐次逼近(SAR)結(jié)構(gòu),帶有雙采樣保持功能,速度為
1.5Msps,16個轉(zhuǎn)換通道,轉(zhuǎn)換精度為10位,12位轉(zhuǎn)換結(jié)果;所述的雙采樣保持功能指的是ADC內(nèi)部具有兩塊采樣保持電路,ADC轉(zhuǎn)換內(nèi)核只有一個,可同時對兩個通道的模擬信號進行采樣并保持數(shù)據(jù),待ADC轉(zhuǎn)換內(nèi)核依次轉(zhuǎn)換。
[0044]高速模數(shù)轉(zhuǎn)換器控制器(ADC Controler) 16為ADC的數(shù)字控制單元,該單元可使ADC具有序列單次轉(zhuǎn)換與序列連續(xù)轉(zhuǎn)換的功能,轉(zhuǎn)換序列的選擇可通過軟件編程控制。ADC的轉(zhuǎn)換啟動支持軟件觸發(fā)與PWM觸發(fā)。所述的序列單次轉(zhuǎn)換指的是用戶可通過寄存器配置來選擇對那幾個通道序列依次進行轉(zhuǎn)換,當選擇的通道序列轉(zhuǎn)換結(jié)束后,ADC停止轉(zhuǎn)換等待下一次的觸發(fā)事件到來。所述的序列連續(xù)轉(zhuǎn)換指的是用戶可通過寄存器配置來選擇對那幾個通道序列依次進行轉(zhuǎn)換,當選擇的通道序列轉(zhuǎn)換結(jié)束后,不需要觸發(fā)事件到來,直接開始新一輪的序列轉(zhuǎn)換,轉(zhuǎn)換連續(xù)進行。
[0045]兩個單端輸入或雙端輸入可選的差分結(jié)構(gòu)的可編程模擬放大器(PGA1/2) 10可實現(xiàn)在FOC算法中對電機三相線圈中的兩相線圈電壓信號的準確測量,單端輸入與雙端輸入可選這個功能對用戶特別靈活,用戶可根據(jù)不同的應(yīng)用選擇不同的輸入方式。
[0046]普通的單端輸入可編程模擬放大器PGAll用于對芯片外部三相逆變橋中對地的母線小信號電壓進行放大,然后該PGAll的輸出送向ADC24的通道ADCIN15進行轉(zhuǎn)換,同時該