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