新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于PSoC的電動(dòng)自行車(chē)控制器的設(shè)計(jì)

基于PSoC的電動(dòng)自行車(chē)控制器的設(shè)計(jì)

作者:Cypress半導(dǎo)體公司 翁小平 黃建明 江小平 時(shí)間:2008-04-30 來(lái)源:電子工程專(zhuān)輯 收藏

  是Cypress半導(dǎo)體生產(chǎn)的具有8位MCU核和數(shù)字與模擬混合信號(hào)陣列的可編程片上系統(tǒng)。集三種可編程能力于一體,不僅具有MCU的可編程序能力,還包含了部分可編程邏輯運(yùn)算功能,同時(shí)也提供了可編程模擬陣列;通過(guò)對(duì)寄存器的配置或控制,三者之間可以相互作用、協(xié)調(diào)工作。的數(shù)字資源(如定時(shí)器、PWM、UART等)和模擬資源(如放大器、比較器、濾波器等)以數(shù)字模塊和模擬模塊的方式給出。不同型號(hào)的PSoC芯片的差異主要在于其擁有的數(shù)字模塊和模擬模塊的數(shù)量不同。用戶可根據(jù)特定需求來(lái)定義這些模塊。集成開(kāi)發(fā)環(huán)境PSoC Designer也預(yù)先為用戶定義了70多個(gè)常用的數(shù)字和模擬資源供用戶選擇。這些預(yù)定義的模塊被稱(chēng)之為用戶模塊,如數(shù)字資源有:定時(shí)器、PWM、UART、SPI、CRC、PRS等等;模擬資源有放大器、比較器、濾波器等等;ADC則由若干數(shù)字模塊和模擬模塊組合而成。PSoC開(kāi)發(fā)人員無(wú)需通過(guò)設(shè)置寄存器來(lái)構(gòu)建這些周邊設(shè)備,只需在PSoC Designer中選擇和放置所需要的用戶模塊并進(jìn)行參數(shù)設(shè)定。PSoC Designer不僅能配置用戶模塊,而且也為用戶提供這些用戶模塊的API函數(shù)供用戶編程時(shí)調(diào)用。

本文引用地址:http://butianyuan.cn/article/82026.htm

  是專(zhuān)門(mén)針對(duì)電機(jī)控制而開(kāi)發(fā)的一款PSoC芯片。它繼承了CY8C24XXXA系列芯片的幾乎所有的資源,同時(shí)針對(duì)電機(jī)控制擴(kuò)展了部分的資源和功能,使得它非常適合應(yīng)用在電動(dòng)自行車(chē)的控制以及其他的電機(jī)控制。

  的系統(tǒng)資源和周邊性能

  的內(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)部低速振蕩器,主要用于看門(mén)狗/睡眠定時(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集成開(kāi)發(fā)環(huán)境也為用戶提供了靈活和完善的數(shù)字模塊和模擬模塊的輸入輸出路由、模塊和模塊之間的路由及數(shù)字模塊和模擬模塊之間的路由。在這些路由中還包括了一些硬件的邏輯運(yùn)算塊(LUT),這些邏輯運(yùn)算塊可以進(jìn)行16種邏輯運(yùn)算。用戶可以通過(guò)路由選擇和路由之間的邏輯運(yùn)算使模塊和模塊之間形成相互關(guān)聯(lián)的有機(jī)的功能塊,使這些功能塊具有更復(fù)雜更獨(dú)特更強(qiáng)大的功能。從而減少片外資源的使用,使系統(tǒng)更簡(jiǎn)潔。

               

                                           圖2:同步觸發(fā)方式原理框圖。

  SAR ADC模塊

  在電機(jī)控制中通常需要一個(gè)高速的ADC用于檢測(cè)過(guò)流信號(hào)進(jìn)而實(shí)施對(duì)功率MOS管的保護(hù)。CY8C24533集成了一個(gè)專(zhuān)用的8位逐次逼近ADC。它的一次轉(zhuǎn)換時(shí)間只有3.33μs,這對(duì)于快速的檢測(cè)過(guò)流信號(hào)非常有用。另外為了能在合適的時(shí)間進(jìn)行模數(shù)轉(zhuǎn)換,CY8C24533還提供了多種觸發(fā)方式來(lái)啟動(dòng)模數(shù)轉(zhuǎn)換。它包括自由運(yùn)行、手動(dòng)單次觸發(fā)和同步觸發(fā)方式。同步觸發(fā)方式原理框圖如圖2。在同步觸發(fā)方式有兩條通路(Low Path和High Path)可以實(shí)施觸發(fā)。這兩條通路分別有一個(gè)8位的寄存器與來(lái)自數(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)算。在直流無(wú)刷電機(jī)的控制中,通常PWM值用于控制電機(jī)的電壓或速度,每一個(gè)PWM周期中的相電流的大小是變化的,用同步觸發(fā)方式可以在每一個(gè)PWM周期的固定時(shí)刻觸發(fā)模數(shù)轉(zhuǎn)換,采樣電機(jī)的電流信號(hào),判斷電流是否異常,實(shí)施對(duì)電機(jī)和MOS管的有效保護(hù)。


  電動(dòng)車(chē)自行車(chē)系統(tǒng)

  圖3所示是一個(gè)電動(dòng)自行車(chē)系統(tǒng)原理框圖。圖中,CY8C24533作為主控芯片,左邊為各種輸入信號(hào):調(diào)速轉(zhuǎn)把信號(hào)、剎車(chē)信號(hào)、電池電壓、電機(jī)的霍爾信號(hào)和其他外設(shè)信號(hào)。右邊是MOSFET的驅(qū)動(dòng)電路、功率MOSFET三相橋電路以及電池電量顯示電路?,F(xiàn)在的電動(dòng)自行車(chē)都使用“無(wú)刷直流電機(jī)”作為傳動(dòng)部件,所以CY8C24533必須通過(guò)來(lái)自電機(jī)的霍爾信號(hào)產(chǎn)生合適的相序信號(hào)提供給MOSFET的驅(qū)動(dòng)電路,進(jìn)而驅(qū)動(dòng)功率MOSFET三相橋,使無(wú)刷直流電機(jī)的三相繞組得到按一定規(guī)律變化的勵(lì)磁電流。

                

                                      圖3:電動(dòng)自行車(chē)控制器系統(tǒng)原理框圖。

  PWM輸出

  為了通過(guò)調(diào)速轉(zhuǎn)把來(lái)控制轉(zhuǎn)速,必須將PWM信號(hào)疊加在相序信號(hào)上,通過(guò)調(diào)節(jié)PWM的占空比,來(lái)控制電機(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)而通過(guò)數(shù)字輸出總線路由到一個(gè)或多個(gè)I/O上。這樣在換相且當(dāng)某一相或幾相需要PWM輸出時(shí),可在獲得換相信號(hào)時(shí)通過(guò)中斷程序?qū)WM輸出切換到相應(yīng)的I/O口上。I/O口的輸出可以直接輸入到MOS管的驅(qū)動(dòng)電路,這樣就不需要外部加邏輯電路。圖5是在PSoC Designer開(kāi)發(fā)環(huán)境下的PWM輸出路由配置圖。

                 

                             圖4:PWM輸出路由選擇和比較器輸出路由選擇圖。

                   

                                                  圖5:PWM輸出路由配置圖。

  峰值電流保護(hù)

  電動(dòng)自行車(chē)在使用過(guò)程中會(huì)有多種可能的情況導(dǎo)致瞬間峰值電流很大,這個(gè)電流如果超過(guò)MOS管的最大可耐受電流,MOS管將被擊穿。所以峰值電流保護(hù)是非常必要的。峰值電流保護(hù)的關(guān)鍵是響應(yīng)速度。通常采用硬件的方式來(lái)實(shí)施,如將采樣的電流送到一個(gè)比較器進(jìn)行比較,比較器的輸出再通過(guò)邏輯電路與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)“與”操作(見(jiàn)圖4或圖5)。如果峰值電流超過(guò)設(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è)值超過(guò)設(shè)定的閾值并持續(xù)一段時(shí)間(如3s以上),控制器自動(dòng)保護(hù)軟件即會(huì)采取相應(yīng)的措施,如減少PWM的輸出或關(guān)斷PWM,來(lái)對(duì)電機(jī)和MOSFET實(shí)施有效的保護(hù)。

  1:1助力

  CY8C24533有數(shù)字模塊可以用作捕捉定時(shí)器,捕捉踏板轉(zhuǎn)軸的轉(zhuǎn)速信號(hào),獲得模擬的1:1助力信號(hào),然后通過(guò)對(duì)PWM的輸出的控制,實(shí)現(xiàn)模擬的1:1助力或1:N控制。由于CY8C24533的閃存空間高達(dá)8KB,可允許用戶程序設(shè)計(jì)多種功能和保護(hù)?;赑SoC CY8C24533的電動(dòng)自行車(chē)控制器還包括超靜音功能、防飛車(chē)功能、短路保護(hù)功能、欠壓保護(hù)功能、定速巡航、ABS剎車(chē)再生制動(dòng)等功能。超靜音功能減少了起步噪聲;防飛車(chē)功能解決了無(wú)刷控制器由于轉(zhuǎn)把或線路故障引起的飛車(chē)現(xiàn)象,提高了系統(tǒng)的安全性;短路保護(hù)功能防止電機(jī)三根相線輸出端任意兩端短路或三端全短路,以及控制器不會(huì)燒毀;欠壓保護(hù)功能使得電池電量不足時(shí)及時(shí)通知用戶更換電池。定速巡航、ABS剎車(chē)使控制器的性能更加完善。

  本文小結(jié)

  基于PSoC CY8C24533的電動(dòng)自行車(chē)控制器,利用其模擬、數(shù)字和路由資源使整個(gè)系統(tǒng)只用一個(gè)PSoC芯片便實(shí)現(xiàn)了上述的所有控制功能,因此無(wú)需任何外圍芯片,外圍元件的數(shù)目也相應(yīng)減少。這充分體現(xiàn)了SoC的優(yōu)勢(shì),同時(shí)芯片的資源也得到了充分有效的利用。由于CY8C24533的模擬、數(shù)字和路由等資源也是可編程的,其使設(shè)計(jì)工程師的智慧和創(chuàng)意得到更多體現(xiàn)的同時(shí),也使電動(dòng)自行車(chē)控制器的性能得到更多的提升。

pwm相關(guān)文章:pwm是什么


比較器相關(guān)文章:比較器工作原理


存儲(chǔ)器相關(guān)文章:存儲(chǔ)器原理


脈寬調(diào)制相關(guān)文章:脈寬調(diào)制原理


關(guān)鍵詞: PSoC CY8C24533 控制器

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉