日韩欧美自拍在线观看-欧美精品在线看片一区二区-高清性视频一区二区播放-欧美日韩女优制服另类-国产精品久久久久久av蜜臀-成人在线黄色av网站-肥臀熟妇一区二区三区-亚洲视频在线播放老色-在线成人激情自拍视频

多路可編程PWM芯片設計

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

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

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

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

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

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

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

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

  PWM輸出信號的周期、脈寬、死區(qū)時間等參數(shù)可以通過加載內(nèi)部的寄存器來實現(xiàn),寫入PWM芯片的數(shù)據(jù)分數(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ù)交換。芯片與外圍控制器進行數(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)機完成,通道接收到PWM信息數(shù)據(jù)后,進行數(shù)據(jù)校驗,合格的數(shù)據(jù)將在合適的條件下啟動狀態(tài)機,并在不同的狀態(tài)下完成PWM輸出。不合格的數(shù)據(jù)將被忽略。

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

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

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

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

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

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

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

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

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

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

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

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

  采用8bits傳輸時,內(nèi)部數(shù)據(jù)采用16bits傳輸,因此通過分析地址的奇偶特性可以確定數(shù)據(jù)高低字節(jié)存放,具體來說通過ControlLogic反饋的字節(jié)選擇位,讀寫邏輯電路能夠自適應的把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ù)通道進行數(shù)據(jù)交換。

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

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

  復位或停止工作時進入IDLE狀態(tài)。

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

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

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

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

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

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

  PWM編程方法

  PWM芯片輸出使能由PWMh_b設定:

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

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

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

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

  PWMEN: 當芯片全局使能輸出時,由此位決定各通道PWM輸出使能,當PWMh_b為1時各通道的輸出正常工作,當為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需要外接地。

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

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

  PWM的仿真及驗證

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

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

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

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

  圖4 讀寫操作過程

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

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

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

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

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

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

  ProjectTopModule : PWMTopFor8051

  Estimated Frequency: 72.9 MHz

  Total LUTs: 1478 of 4160 (35%)

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

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


  
關鍵詞:多路可編程PWM芯片設計74LS373PWM芯片

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

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

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

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

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

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

在線人工客服

買家服務:
賣家服務:
技術客服:

0571-85317607

網(wǎng)站技術支持

13606545031

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

關注官方微信號,
第一時間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

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