音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

多路可編程PWM芯片設(shè)計

出處:sillboy 發(fā)布于:2009-06-30 17:19:12

  摘要: 系統(tǒng)中的H橋驅(qū)動電路采用2路脈寬調(diào)制器(PWM)信號驅(qū)動一個電機(jī)來控制其正,反兩個方向的運轉(zhuǎn),且兩路信號必須有一定的時間間隔來避免驅(qū)動電流過大損害驅(qū)動元件。

  系統(tǒng)中的H橋驅(qū)動電路采用2路脈寬調(diào)制器(PWM)信號驅(qū)動一個電機(jī)來控制其正,反兩個方向的運轉(zhuǎn),且兩路信號必須有一定的時間間隔來避免驅(qū)動電流過大損害驅(qū)動元件。為使其能靈活應(yīng)用,針對系統(tǒng)要求,PWM控制器應(yīng)具備以下功能:

  3路獨立PWM輸出,每路輸出2個驅(qū)動信號,周期、占空比、死區(qū)時間可編程,對應(yīng)10MHz系統(tǒng)時鐘,周期為1μs-6.5536ms;

  精簡地址線,節(jié)省外圍引腳及地址資源占用;

  提供與8/16bits單片機(jī)的雙向數(shù)據(jù)接口,內(nèi)置地址/數(shù)據(jù)鎖存器。

  PWM結(jié)構(gòu)規(guī)劃

  在采用自頂向下(Top_Down)正向設(shè)計中,芯片的結(jié)構(gòu)劃分,規(guī)格定制是整個設(shè)計中重要的環(huán)節(jié),合理的結(jié)構(gòu)設(shè)計將決定整個設(shè)計的成敗[1][2]。

  PWM輸出信號的周期、脈寬、死區(qū)時間等參數(shù)可以通過加載內(nèi)部的寄存器來實現(xiàn),寫入PWM芯片的數(shù)據(jù)分?jǐn)?shù)據(jù)字與控制字兩部分。由內(nèi)部控制邏輯模塊來處理控制字信息,并譯碼產(chǎn)生各內(nèi)部通道內(nèi)部信息寄存器的片選信號。數(shù)據(jù)字通過內(nèi)部數(shù)據(jù)總線在各通道模塊傳遞PWM的特征信息數(shù)據(jù)。

  芯片內(nèi)部的各模塊通過內(nèi)部片選結(jié)合讀寫使能完成數(shù)據(jù)交換。芯片與外圍控制器進(jìn)行數(shù)據(jù)交換時采用雙模式接口(8/16bits),可通過外置選擇引腳DataWidth來選配。

  芯片的是由3個完全獨立且相同的通道模塊構(gòu)成。通道內(nèi)部的數(shù)據(jù)接口將完成外部讀寫邏輯(RWLogic)傳輸?shù)絻?nèi)部數(shù)據(jù)總線的數(shù)據(jù)收發(fā)工作。PWM周期生成模塊(ClkGen)則依據(jù)寫入的周期信息,輸出PWM的周期控制信號。

  PWM輸出由通道狀態(tài)機(jī)完成,通道接收到PWM信息數(shù)據(jù)后,進(jìn)行數(shù)據(jù)校驗,合格的數(shù)據(jù)將在合適的條件下啟動狀態(tài)機(jī),并在不同的狀態(tài)下完成PWM輸出。不合格的數(shù)據(jù)將被忽略。

  地址/數(shù)據(jù)鎖存則依據(jù)通用74LS373的邏輯功能,編寫一個完全可替代的L74LS373來實現(xiàn)。

  根據(jù)總體構(gòu)建思路,終的芯片總體結(jié)構(gòu)圖如圖1所示。

  PWM電路結(jié)構(gòu)設(shè)計

  從圖1中開可以看出,PWM主要由模塊片選譯碼、控制邏輯、讀寫邏輯、通道等四個模塊組成,下面簡要介紹各部分功能。

  模塊片選譯碼模塊通過地址信號Addr與片選信號Csb通過組合邏輯電路生成內(nèi)部各子模塊的片選信號。

  圖1 PWM整體結(jié)構(gòu)圖

  控制邏輯模塊主要產(chǎn)生通道內(nèi)部Regs(寄存器)片選控制信號、各通道輸出控制信號,并完成精簡地址線的操作。

  每個通道都包含各自獨立的4個16bits的Regs—正向信號長度、負(fù)向信號長度、死區(qū)長度、周期長度,控制字寄存器為8bits,因此整個芯片至少將占用3×4×2+1=25個地址(每個地址存儲8bits數(shù)據(jù)),傳統(tǒng)做法則至少需要5根地址線譯碼,而采用區(qū)分?jǐn)?shù)據(jù)信息類型(控制字,數(shù)據(jù)字),則可以精簡地址線到2根。相對單片機(jī)緊缺的外面地址資源而已,好處是顯而易見的。具體來說,通過對寫入ControlRegister(控制字寄存器)的值進(jìn)行分析,結(jié)合數(shù)據(jù)傳輸寬度生成內(nèi)部Regs片選控制信號,這樣就可以通過控制字信息來完成內(nèi)部Regs的地址譯碼,同時反饋被操作的寄存器的信息到RWLogic模塊完成8/16bits的數(shù)據(jù)讀寫操作。

  值得注意的是,由于PWM內(nèi)部包含3個完全一樣的獨立通道,因此為了更方便的對控制字進(jìn)行操作,通過對控制字寄存器的分析,控制邏輯電路將自動將當(dāng)前被操作通道的控制寄存器信息存儲在對應(yīng)的控制寄存器備份中。這樣既方便在編程中靈活的操作各通道,又可避免在讀寫過程中誤修改非相干通道控制信息。

  讀寫邏輯模塊用于處理外部數(shù)據(jù)Data[15:0](包括外部為16位或8位數(shù)據(jù)總線連接方式)到內(nèi)部DataInternal[15:0]的轉(zhuǎn)換。

  當(dāng)DataWidth為1,采用16bits的數(shù)據(jù)傳輸、當(dāng)DataWidth為0,采用8bits數(shù)據(jù)傳輸。PWM能完成對外部8bits或16bits的信息傳輸要求,準(zhǔn)確的讀寫內(nèi)部16bits的Regs,其具體實現(xiàn)方法如下:

  采用16bits傳輸時,內(nèi)部數(shù)據(jù)采用16bits傳輸,因此可以采用每個地址對應(yīng)16bits數(shù)據(jù),每個數(shù)據(jù)位一一對應(yīng)的傳輸方式。

  采用8bits傳輸時,內(nèi)部數(shù)據(jù)采用16bits傳輸,因此通過分析地址的奇偶特性可以確定數(shù)據(jù)高低字節(jié)存放,具體來說通過ControlLogic反饋的字節(jié)選擇位,讀寫邏輯電路能夠自適應(yīng)的把16bits的Regs的數(shù)據(jù)信息分割加載到合適的數(shù)據(jù)通道上,完成數(shù)據(jù)的輸入輸出控制。

  為了精簡數(shù)據(jù)線,實現(xiàn)數(shù)據(jù)的雙向流通,本模塊通過由片選,讀寫使能信號控制的雙向的三態(tài)門接口電路隔離讀寫信息。

  通道是PWM芯片的部分,每個通道模塊都由3個子模塊組成,如圖2所示。

  圖2 通道子模塊內(nèi)部結(jié)構(gòu)圖

  數(shù)據(jù)接口模塊通過組合通道片選,內(nèi)部寄存器片選信號及模塊讀寫使能信號產(chǎn)生各寄存器的讀寫使能信號。讀寫操作通過三態(tài)門與內(nèi)部數(shù)據(jù)通道進(jìn)行數(shù)據(jù)交換。

  寫入本模塊的寄存器信息將進(jìn)行數(shù)據(jù)校驗,只有校驗合格的數(shù)據(jù)才能被載入到內(nèi)部寄存器的緩沖器(Buf)中,內(nèi)部寄存器的緩沖器數(shù)據(jù)將輸出到PWMFSM模塊,提供PWM的特征數(shù)據(jù)。

  周期信號發(fā)生器生成PWM的周期控制信號,其周期長短由數(shù)據(jù)接口傳過來的周期寄存器值(CycleReg)決定。模塊通過內(nèi)部計數(shù)器計數(shù)時鐘,并與CycleReg比對,產(chǎn)生PWM的周期控制信號CycleScale。

  狀態(tài)機(jī)產(chǎn)生PWM的功能模塊。通過加載數(shù)據(jù)接口模塊接收到的通道內(nèi)部寄存器值,狀態(tài)機(jī)進(jìn)行運轉(zhuǎn)。狀態(tài)機(jī)模塊中包含一個自運轉(zhuǎn)狀態(tài)機(jī)。當(dāng)符合條件的寄存器值寫入通道寄存器后,狀態(tài)機(jī)在CycleScale信號的起始信息引導(dǎo)下,在時鐘的上升沿將內(nèi)部寄存器緩沖器寫入到本模塊中的PWM信息寄存器Buf中,以便在下一個運行周期內(nèi)載入到PWM的狀態(tài)機(jī)中。

  狀態(tài)機(jī)啟動后,根據(jù)當(dāng)前狀態(tài)輸出脈沖驅(qū)動信號。狀態(tài)機(jī)的轉(zhuǎn)換圖如圖3所示。狀態(tài)機(jī)的運轉(zhuǎn)流程如下:

  復(fù)位或停止工作時進(jìn)入IDLE狀態(tài)。

  在合法的數(shù)據(jù)寫入通道寄存器后,在CycleScale的啟始信號被接收后,狀態(tài)機(jī)載入當(dāng)前的通道內(nèi)部寄存器緩沖器的值到狀態(tài)機(jī)定時器,并進(jìn)入正向脈沖狀態(tài)。準(zhǔn)備輸出正向電機(jī)驅(qū)動信號。

  在正向脈沖狀態(tài)下,定時器開始減計數(shù),直到完成正向驅(qū)動所需要的時間。并在結(jié)束正向驅(qū)動的輸出后進(jìn)入死區(qū)狀態(tài)死區(qū)。

  在死區(qū)狀態(tài),關(guān)閉正向,負(fù)向電機(jī)驅(qū)動信號,并通過定時器等待死區(qū)時間結(jié)束后進(jìn)入負(fù)向電機(jī)驅(qū)動狀態(tài)負(fù)向脈沖。

  在負(fù)向脈沖狀態(tài)下,定時器開始減計數(shù),直到完成負(fù)向驅(qū)動所需要的時間。結(jié)束負(fù)向驅(qū)動的輸出后進(jìn)入死區(qū)狀態(tài)死區(qū)。

  圖3 狀態(tài)機(jī)轉(zhuǎn)換圖

  在死區(qū)狀態(tài),關(guān)閉正向,負(fù)向電機(jī)驅(qū)動信號,并通過定時器等待死區(qū)時間結(jié)束,然后進(jìn)入空閑等待狀態(tài)。等待下的啟動信號。

  PWM編程方法

  PWM芯片輸出使能由PWMh_b設(shè)定:

  1: 全局使能輸出,為正常工作模式,但各Channel工作模式取決其PWMEN位的值

  0: 全局禁止輸出,整個芯片不工作。此時芯片進(jìn)入低功耗模式,時鐘被禁止輸入到內(nèi)部通道模塊。

  PWM芯片控制字寄存器決定當(dāng)前芯片工作模式,控制字寄存器ControlReg[7:0]: 地址: [A1,A0] = 00

  由于控制字寄存器僅有一個,但實際各通道都有一個備份的控制字寄存器來控制對應(yīng)的通道。因此并不會由于對控制字的操作而影響到無關(guān)的通道。

  PWMEN: 當(dāng)芯片全局使能輸出時,由此位決定各通道PWM輸出使能,當(dāng)PWMh_b為1時各通道的輸出正常工作,當(dāng)為0時則通道禁止輸出。

  Channel2Cs: 選通Channel2。使能對Channel2模塊的操作,并將控制字信息存儲到通道2的備份控制字。

  Channel1Cs: 選通Channel1。使能對Channel1模塊的操作,并將控制字信息存儲到通道1的備份控制字。

  Channel0Cs: 選通Channel0。使能對Channel0模塊的操作,并將控制字信息存儲到通道0的備份控制字。

  [B2,B1,B0] : 內(nèi)部寄存器片選譯碼。每個通道的PWM內(nèi)部有8個寄存器地址。通過ChannelX的選通結(jié)合[B2,B1,B0]的譯碼產(chǎn)生內(nèi)部通道Regs的片選信號。

  PWM芯片在上電后,加載時鐘,所有通道禁止輸出。采樣DataWidth來確定外圍數(shù)據(jù)接口的寬度,如果采用16bits傳輸(DataWidth=1)則Data[15:0]都使用;如果采用8bits傳輸(DataWidth=0),則僅使用Data[7:0],高8bits需要外接地。

  在復(fù)位(Reset_b)結(jié)束后,片選(Cs_b)有效的情況下,可以對芯片進(jìn)行讀寫操作。對通道的完整的讀寫包括寫控制字與讀寫通道寄存器兩個過程,寫控制字選中通道內(nèi)寄存器,讀寫通道寄存器獲取通道寄存器信息。僅當(dāng)合理的數(shù)據(jù)寫入后,在PWMH_b有效(PWMH_b=1)時,PWM內(nèi)部通道使能輸出信號。各通道的輸出使能由各通道的控制字寄存器的PWM_EN位決定。

  由于采用了控制字自動備份的方式,控制字的編程非常靈活。既可以采用同一個類型的寄存器(不同通道),一起寫控制字,亦可同一個通道一塊操作。(所有控制字命令都可以在PWM的控制字命令列表查詢)

  PWM的仿真及驗證

  PWM的仿真是PWM功能驗證的必要環(huán)節(jié)。利用Modelsim[3]結(jié)合腳本文件進(jìn)行了仿真,并采用89c51結(jié)合FPGA驗證板對整個設(shè)計進(jìn)行了驗證。

  ModeslSim仿真需要解決PWM的雙向IO端口,PWM的Regs的讀寫控制時序。

  對于雙向端口的數(shù)據(jù)交換,采用讀寫控制結(jié)合三態(tài)門可以比較完好的解決。對于大量的Regs讀寫操作,通過模擬單片機(jī)對外圍器件的操作。利用Task調(diào)用的方式實現(xiàn)。

  模擬仿真的結(jié)果如圖4。

  圖4 讀寫操作過程

  從圖4中,可以看到當(dāng)采用16bits讀寫時,各寄存器通過內(nèi)部DataInternal數(shù)據(jù)總線的傳輸過程與電路設(shè)計要求完全一致。RWLogic與DataInterface模塊的功能完全符合設(shè)計預(yù)想。

  圖5 輸出結(jié)果與程序設(shè)定的周期和PWM波形完全一致

  從圖5中,可以看到PWM輸出信號,在ClkGen的CycleScale信號的控制下周期輸出編程設(shè)定的PWM波形,并能異步響應(yīng)ChannelHold_b信號的輸出控制。

  PWM的FPGA驗證,采用8bits數(shù)據(jù)接口,89c51[4]做外圍控制器(12MHz),對PWM進(jìn)行操作。為了方便與單片機(jī)接口,將74LS373鎖存器內(nèi)置到PWM中。整個數(shù)字設(shè)計部分見圖6。

  圖6 PWM+L74LS373電路圖(與51單片機(jī)驗證)

  通過Synplify Pro編譯后的結(jié)果顯示:

  ProjectTopModule : PWMTopFor8051

  Estimated Frequency: 72.9 MHz

  Total LUTs: 1478 of 4160 (35%)

  占用FPGA資源35%。針對51系列的單片機(jī)而言,PWM可運行的頻率遠(yuǎn)超過系統(tǒng)頻率。因此在讀寫時序上可以完全保證整個設(shè)計的可靠性。

  將編譯后的pof文件到APEX20KE EP20K100E TQ144-2X(Altera) fpga[5]驗證板。采用40MHz的FPGA時鐘。根據(jù)先前軟件仿真的步驟,將讀寫操作轉(zhuǎn)換為單片機(jī)程序燒錄到單片機(jī)。的結(jié)果通過示波器我們可以清楚的看到實際輸出與設(shè)計完全一致。芯片采用.35工藝,流片成功后,測試結(jié)果顯示結(jié)果非常理想,實現(xiàn)了當(dāng)初的設(shè)計要求。


  
關(guān)鍵詞:多路可編程PWM芯片設(shè)計74LS373PWM芯片

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

AE312 PWM芯片
廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機(jī)號碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時間周一至周五
9:00-17:30

關(guān)注官方微信號,
第一時間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫提出的寶貴意見,您的參與是維庫提升服務(wù)的動力!意見一經(jīng)采納,將有感恩紅包奉上哦!