基于PSoC的電動(dòng)自行車控制器的設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
CY8C24533是專門針對(duì)電機(jī)控制而開發(fā)的一款PSoC芯片。它繼承了CY8C24XXXA系列芯片的幾乎所有的資源,同時(shí)針對(duì)電機(jī)控制擴(kuò)展了部分的資源和功能,使得它非常適合應(yīng)用在電動(dòng)自行車的控制以及其他的電機(jī)控制。
CY8C24533的系統(tǒng)資源和周邊性能
CY8C24533的內(nèi)部結(jié)構(gòu)如圖1所示。其資源包括:
圖1:CY8C24533內(nèi)部系統(tǒng)資源框圖。
系統(tǒng)資源
CY8C24533使用8位哈佛結(jié)構(gòu)處理器內(nèi)核(M8C CPU),它具有獨(dú)立的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器總線,處理器速度可達(dá)24MHz。擁有豐富的M8C架構(gòu)指令,系統(tǒng)提供便捷的尋址方式。CY8C24533的系統(tǒng)資源中包括一個(gè)乘加器(MAC)。MAC系統(tǒng)中作為一個(gè)獨(dú)立的組件,并映射到特定的寄存器地址空間,由輸入寄存器和輸出寄存器,能執(zhí)行帶符號(hào)的8×8乘法運(yùn)算和32位的加法運(yùn)算。只要把數(shù)據(jù)傳送到輸入寄存器,在下一個(gè)指令周期,輸出寄存器就能得到運(yùn)算結(jié)果。寄存器加速內(nèi)存數(shù)據(jù)交換,大大提高了處理數(shù)據(jù)的速度。CY8C24533有兩個(gè)時(shí)鐘發(fā)生器:主時(shí)鐘發(fā)生器和低頻時(shí)鐘發(fā)生器。其中主時(shí)鐘發(fā)生器為24MHz作為系統(tǒng)時(shí)鐘,可分頻或不分頻作為CPU時(shí)鐘。系統(tǒng)時(shí)鐘N1,N2和N3次(均可由用戶設(shè)定)分頻產(chǎn)生的時(shí)鐘VC1,VC2和V3可以提供給用戶作為模擬PSoC模塊和數(shù)字PSoC模塊的輸入時(shí)鐘。系統(tǒng)時(shí)鐘也可以倍頻產(chǎn)生48MHz的時(shí)鐘作為PWM的輸入,以提高PWM的分辨率。低頻時(shí)鐘發(fā)生器是一個(gè)32KHz內(nèi)部低速振蕩器,主要用于看門狗/睡眠定時(shí)器的時(shí)鐘。其他的系統(tǒng)資源還包括可設(shè)定電壓閥值的電源低電壓檢測(cè)(LVD/POR)、中斷控制器、I2C、用于△-∑模數(shù)轉(zhuǎn)換的采樣抽取器(Decimator)、片內(nèi)溫度傳感器和片內(nèi)電壓參考等。
片內(nèi)存儲(chǔ)器
CY8C24533有8KB的閃存用于程序存儲(chǔ)以及256B的片內(nèi)SRAM數(shù)據(jù)存儲(chǔ)器??梢杂瞄W存的部分空間模擬E2PROM。此外,它還具有串行在系統(tǒng)編程功能(ISSP)。CY8C24533對(duì)片內(nèi)存儲(chǔ)器提供多種保護(hù)加密方式。與傳統(tǒng)的熔絲保護(hù)加密方式不同,CY8C24533是以塊加密方式實(shí)施對(duì)片內(nèi)存儲(chǔ)器的加密保護(hù),所以具有更高的安全性。
模塊資源
CY8C24533有4個(gè)數(shù)字模塊和4個(gè)模擬模塊。片內(nèi)的數(shù)字模塊可以配置成各種各樣的用戶模塊,比如時(shí)間定時(shí)器、實(shí)時(shí)時(shí)鐘、脈寬調(diào)制和死區(qū)脈寬調(diào)制(DB PWM)、循環(huán)冗余校對(duì)模塊、全雙工UART、SPI等功能模塊。片內(nèi)的模擬模塊可以配置多種模擬周邊功能,如比較器、可編程增益放大器、差分放大器、可編程濾波器。結(jié)合數(shù)字模塊和模擬模塊可以實(shí)施各種模數(shù)轉(zhuǎn)換,如7-14位的增量式模數(shù)轉(zhuǎn)換,8和11位的△-∑模數(shù)轉(zhuǎn)換等等。PSoC Designer集成開發(fā)環(huán)境也為用戶提供了靈活和完善的數(shù)字模塊和模擬模塊的輸入輸出路由、模塊和模塊之間的路由及數(shù)字模塊和模擬模塊之間的路由。在這些路由中還包括了一些硬件的邏輯運(yùn)算塊(LUT),這些邏輯運(yùn)算塊可以進(jìn)行16種邏輯運(yùn)算。用戶可以通過路由選擇和路由之間的邏輯運(yùn)算使模塊和模塊之間形成相互關(guān)聯(lián)的有機(jī)的功能塊,使這些功能塊具有更復(fù)雜更獨(dú)特更強(qiáng)大的功能。從而減少片外資源的使用,使系統(tǒng)更簡(jiǎn)潔?!?
觸發(fā)方式原理框圖。 src="/upload/2008_04/080424135452102.jpg" border=0>
圖2:同步觸發(fā)方式原理框圖。
SAR ADC模塊
在電機(jī)控制中通常需要一個(gè)高速的ADC用于檢測(cè)過流信號(hào)進(jìn)而實(shí)施對(duì)功率MOS管的保護(hù)。CY8C24533集成了一個(gè)專用的8位逐次逼近ADC。它的一次轉(zhuǎn)換時(shí)間只有3.33μs,這對(duì)于快速的檢測(cè)過流信號(hào)非常有用。另外為了能在合適的時(shí)間進(jìn)行模數(shù)轉(zhuǎn)換,CY8C24533還提供了多種觸發(fā)方式來啟動(dòng)模數(shù)轉(zhuǎn)換。它包括自由運(yùn)行、手動(dòng)單次觸發(fā)和同步觸發(fā)方式。同步觸發(fā)方式原理框圖如圖2。在同步觸發(fā)方式有兩條通路(Low Path和High Path)可以實(shí)施觸發(fā)。這兩條通路分別有一個(gè)8位的寄存器與來自數(shù)字模塊的的計(jì)數(shù)值進(jìn)行比較,如果Low Path的比較結(jié)果相等時(shí)CMP_LO輸出高電平,如果High Path的比較結(jié)果相等時(shí)CMP_HI輸出高電平,CMP_LO和CMP_HI的輸出在通路邏輯(Path Logic)進(jìn)行邏輯運(yùn)算,邏輯運(yùn)算的結(jié)果為1時(shí)便觸發(fā)啟動(dòng)模數(shù)轉(zhuǎn)換。通路邏輯有“與”和“或”兩種邏輯運(yùn)算功能,CMP_LO和CMP_HI的值由用戶設(shè)定。這個(gè)性能對(duì)電機(jī)控制非常有用。比如,當(dāng)DBB0被配置成一個(gè)8位的PWM時(shí),在一個(gè)PWM的周期里,ADC可以被觸發(fā)一次或兩次。當(dāng)CMP_LO或CMP_HI寄存器有一個(gè)被設(shè)置,并且通路邏輯設(shè)置“或”運(yùn)算時(shí)被觸發(fā)一次;當(dāng)CMP_LO和CMP_HI的寄存器被設(shè)置一樣并且通路邏輯設(shè)置“與”運(yùn)算時(shí)也被觸發(fā)一次;當(dāng)CMP_LO和CMP_HI的寄存器被設(shè)置不一樣并且通路邏輯設(shè)置“或”運(yùn)算時(shí)被觸發(fā)兩次。當(dāng)DBB0和DBB1被配置成一個(gè)16位的PWM時(shí),在一個(gè)PWM的周期里,模數(shù)轉(zhuǎn)換可以被觸發(fā)一次,這時(shí)通路邏輯設(shè)置“與”運(yùn)算。在直流無刷電機(jī)的控制中,通常PWM值用于控制電機(jī)的電壓或速度,每一個(gè)PWM周期中的相電流的大小是變化的,用同步觸發(fā)方式可以在每一個(gè)PWM周期的固定時(shí)刻觸發(fā)模數(shù)轉(zhuǎn)換,采樣電機(jī)的電流信號(hào),判斷電流是否異常,實(shí)施對(duì)電機(jī)和MOS管的有效保護(hù)。
電動(dòng)車自行車控制器系統(tǒng)
圖3所示是一個(gè)電動(dòng)自行車控制器系統(tǒng)原理框圖。圖中,CY8C24533作為主控芯片,左邊為各種輸入信號(hào):調(diào)速轉(zhuǎn)把信號(hào)、剎車信號(hào)、電池電壓、電機(jī)的霍爾信號(hào)和其他外設(shè)信號(hào)。右邊是MOSFET的驅(qū)動(dòng)電路、功率MOSFET三相橋電路以及電池電量顯示電路?,F(xiàn)在的電動(dòng)自行車都使用“無刷直流電機(jī)”作為傳動(dòng)部件,所以CY8C24533必須通過來自電機(jī)的霍爾信號(hào)產(chǎn)生合適的相序信號(hào)提供給MOSFET的驅(qū)動(dòng)電路,進(jìn)而驅(qū)動(dòng)功率MOSFET三相橋,使無刷直流電機(jī)的三相繞組得到按一定規(guī)律變化的勵(lì)磁電流?!?
圖3:電動(dòng)自行車控制器系統(tǒng)原理框圖。
PWM輸出
為了通過調(diào)速轉(zhuǎn)把來控制轉(zhuǎn)速,必須將PWM信號(hào)疊加在相序信號(hào)上,通過調(diào)節(jié)PWM的占空比,來控制電機(jī)繞組的相電壓和電流實(shí)現(xiàn)轉(zhuǎn)速控制。通常MCU的PWM輸出是從固定的管腳輸出,所以傳統(tǒng)的MCU做法是在芯片的外部加邏輯電路將6路或3路相序信號(hào)和PWM信號(hào)相“與”后輸出。而CY8C24533 PSoC芯片有靈活多樣的模塊輸入和輸出的路由資源可以選擇,可以將一路PWM信號(hào)在不同的時(shí)刻路由到一個(gè)或同時(shí)路由到多個(gè)I/O上。如圖4所示將一個(gè)數(shù)字模塊配置成雙緩沖器,PWM信號(hào)的輸出配合雙緩沖器中的一個(gè)緩沖器便將PWM信號(hào)路由到LUT的四個(gè)輸出上,進(jìn)而通過數(shù)字輸出總線路由到一個(gè)或多個(gè)I/O上。這樣在換相且當(dāng)某一相或幾相需要PWM輸出時(shí),可在獲得換相信號(hào)時(shí)通過中斷程序?qū)WM輸出切換到相應(yīng)的I/O口上。I/O口的輸出可以直接輸入到MOS管的驅(qū)動(dòng)電路,這樣就不需要外部加邏輯電路。圖5是在PSoC Designer開發(fā)環(huán)境下的PWM輸出路由配置圖。
圖4:PWM輸出路由選擇和比較器輸出路由選擇圖。
圖5:PWM輸出路由配置圖。
峰值電流保護(hù)
電動(dòng)自行車在使用過程中會(huì)有多種可能的情況導(dǎo)致瞬間峰值電流很大,這個(gè)電流如果超過MOS管的最大可耐受電流,MOS管將被擊穿。所以峰值電流保護(hù)是非常必要的。峰值電流保護(hù)的關(guān)鍵是響應(yīng)速度。通常采用硬件的方式來實(shí)施,如將采樣的電流送到一個(gè)比較器進(jìn)行比較,比較器的輸出再通過邏輯電路與PWM的輸入信號(hào)相“與”。在CY8C24533芯片中包含模擬模塊,CT(連續(xù)時(shí)鐘)的模擬模塊可以作可編程的比較器和可編程的放大器。我們將CT模塊作放大器用于放大電流信號(hào),另一個(gè)CT模塊作比較器,用于比較電流信號(hào),比較器的閾值可以程序設(shè)置。放大器的輸出作為比較器的輸出,比較器輸出到比較總線,比較總線經(jīng)LUT輸入到數(shù)字模塊的雙緩沖器中的另一個(gè)緩沖器,這個(gè)緩沖器的輸出經(jīng)由行輸出總線的LUT與PWM信號(hào)實(shí)現(xiàn)“與”操作(見圖4或圖5)。如果峰值電流超過設(shè)定的閾值,比較器的輸出將封住PWM的輸出,對(duì)MOS管實(shí)施有效的保護(hù)。
平均值電流保護(hù)
平均值電流保護(hù)對(duì)保護(hù)電機(jī)和MOSFET是非常重要的,尤其在堵轉(zhuǎn)時(shí)。因?yàn)殚L(zhǎng)時(shí)間的堵轉(zhuǎn)會(huì)產(chǎn)生高溫而致使電機(jī)或MOSFET被燒毀。CY8C24533有高速逐次逼近ADC,因此可以利用上述的同步觸發(fā)方式在每個(gè)PWM周期的固定時(shí)刻采樣電流值,以獲得平均值電流。如果這個(gè)值超過設(shè)定的閾值并持續(xù)一段時(shí)間(如3s以上),控制器自動(dòng)保護(hù)軟件即會(huì)采取相應(yīng)的措施,如減少PWM的輸出或關(guān)斷PWM,來對(duì)電機(jī)和MOSFET實(shí)施有效的保護(hù)。
1:1助力
CY8C24533有數(shù)字模塊可以用作捕捉定時(shí)器,捕捉踏板轉(zhuǎn)軸的轉(zhuǎn)速信號(hào),獲得模擬的1:1助力信號(hào),然后通過對(duì)PWM的輸出的控制,實(shí)現(xiàn)模擬的1:1助力或1:N控制。由于CY8C24533的閃存空間高達(dá)8KB,可允許用戶程序設(shè)計(jì)多種功能和保護(hù)?;赑SoC CY8C24533的電動(dòng)自行車控制器還包括超靜音功能、防飛車功能、短路保護(hù)功能、欠壓保護(hù)功能、定速巡航、ABS剎車再生制動(dòng)等功能。超靜音功能減少了起步噪聲;防飛車功能解決了無刷控制器由于轉(zhuǎn)把或線路故障引起的飛車現(xiàn)象,提高了系統(tǒng)的安全性;短路保護(hù)功能防止電機(jī)三根相線輸出端任意兩端短路或三端全短路,以及控制器不會(huì)燒毀;欠壓保護(hù)功能使得電池電量不足時(shí)及時(shí)通知用戶更換電池。定速巡航、ABS剎車使控制器的性能更加完善。
本文小結(jié)
基于PSoC CY8C24533的電動(dòng)自行車控制器,利用其模擬、數(shù)字和路由資源使整個(gè)系統(tǒng)只用一個(gè)PSoC芯片便實(shí)現(xiàn)了上述的所有控制功能,因此無需任何外圍芯片,外圍元件的數(shù)目也相應(yīng)減少。這充分體現(xiàn)了SoC的優(yōu)勢(shì),同時(shí)芯片的資源也得到了充分有效的利用。由于CY8C24533的模擬、數(shù)字和路由等資源也是可編程的,其使設(shè)計(jì)工程師的智慧和創(chuàng)意得到更多體現(xiàn)的同時(shí),也使電動(dòng)自行車控制器的性能得到更多的提升。