国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

多路可編程PWM芯片設計

發布時間:2010-8-9 15:37    發布者:lavida
關鍵詞: PWM , 可編程 , 芯片設計
系統中的H橋驅動電路采用2路脈寬調制器(PWM)信號驅動一個電機來控制其正,反兩個方向的運轉,且兩路信號必須有一定的時間間隔來避免驅動電流過大損害驅動元件。為使其能靈活應用,針對系統要求,PWM控制器應具備以下功能:  

3路獨立PWM輸出,每路輸出2個驅動信號,周期、占空比、死區時間可編程,對應10MHz系統時鐘,周期為1μs-6.5536ms;  
精簡地址線,節省外圍引腳及地址資源占用;  
提供與8/16bits單片機的雙向數據接口,內置地址/數據鎖存器。  

PWM結構規劃  

在采用自頂向下(Top_Down)正向設計中,芯片的結構劃分,規格定制是整個設計中最重要的環節,合理的結構設計將決定整個設計的成敗。  

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

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

芯片的核心是由3個完全獨立且相同的通道模塊構成。通道內部的數據接口將完成外部讀寫邏輯(RWLogic)傳輸到內部數據總線的數據收發工作。PWM周期生成模塊(ClkGen)則依據寫入的周期信息,輸出PWM的周期控制信號。  

PWM輸出由通道狀態機完成,通道接收到PWM信息數據后,進行數據校驗,合格的數據將在合適的條件下啟動狀態機,并在不同的狀態下完成PWM輸出。不合格的數據將被忽略。  

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

根據總體構建思路,最終的芯片總體結構圖如圖1所示。  

PWM電路結構設計  

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

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


圖1 PWM整體結構圖  

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

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

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

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

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

采用16bits傳輸時,內部數據采用16bits傳輸,因此可以采用每個地址對應16bits數據,每個數據位一一對應的傳輸方式。  
采用8bits傳輸時,內部數據采用16bits傳輸,因此通過分析地址的奇偶特性可以確定數據高低字節存放,具體來說通過ControlLogic反饋的字節選擇位,讀寫邏輯電路能夠自適應的把16bits的Regs的數據信息分割加載到合適的數據通道上,完成數據的輸入輸出控制。  
為了精簡數據線,實現數據的雙向流通,本模塊通過由片選,讀寫使能信號控制的雙向的三態門接口電路隔離讀寫信息。  

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

  
圖2 通道子模塊內部結構圖  

數據接口模塊通過組合通道片選,內部寄存器片選信號及模塊讀寫使能信號產生各寄存器的讀寫使能信號。讀寫操作通過三態門與內部數據通道進行數據交換。  

寫入本模塊的寄存器信息將進行數據校驗,只有校驗合格的數據才能被載入到內部寄存器的一級緩沖器(Buf)中,內部寄存器的一級緩沖器數據將輸出到PWMFSM模塊,提供PWM的特征數據。
  
周期信號發生器生成PWM的周期控制信號,其周期長短由數據接口傳過來的周期寄存器值(CycleReg)決定。模塊通過內部計數器計數時鐘,并與CycleReg比對,產生PWM的周期控制信號CycleScale。  

狀態機產生PWM的核心功能模塊。通過加載數據接口模塊接收到的通道內部寄存器值,狀態機進行運轉。狀態機模塊中包含一個自運轉狀態機。當符合條件的寄存器值寫入通道寄存器后,狀態機在CycleScale信號的起始信息引導下,在時鐘的上升沿將內部寄存器一級緩沖器寫入到本模塊中的PWM信息寄存器Buf中,以便在下一個運行周期內載入到PWM的狀態機中。  

狀態機啟動后,根據當前狀態輸出脈沖驅動信號。狀態機的轉換圖如圖3所示。狀態機的運轉流程如下:  

復位或停止工作時進入IDLE狀態。  
在合法的數據寫入通道寄存器后,在CycleScale的啟始信號被接收后,狀態機載入當前的通道內部寄存器緩沖器的值到狀態機定時器,并進入正向脈沖狀態。準備輸出正向電機驅動信號。  
在正向脈沖狀態下,定時器開始減計數,直到完成正向驅動所需要的時間。并在結束正向驅動的輸出后進入死區狀態死區。  
在死區狀態,關閉正向,負向電機驅動信號,并通過定時器等待死區時間結束后進入負向電機驅動狀態負向脈沖。  
在負向脈沖狀態下,定時器開始減計數,直到完成負向驅動所需要的時間。結束負向驅動的輸出后進入死區狀態死區。  


圖3 狀態機轉換圖  

在死區狀態,關閉正向,負向電機驅動信號,并通過定時器等待死區時間結束,然后進入空閑等待狀態。等待下一次的啟動信號。  

PWM編程方法  

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

1: 全局使能輸出,為正常工作模式,但各Channel工作模式取決其PWMEN位的值  
0: 全局禁止輸出,整個芯片不工作。此時芯片進入低功耗模式,時鐘被禁止輸入到內部通道模塊。  

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] : 內部寄存器片選譯碼。每個通道的PWM內部有8個寄存器地址。通過ChannelX的選通結合[B2,B1,B0]的譯碼產生內部通道Regs的片選信號。  

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

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

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

PWM的仿真及驗證  

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

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

對于雙向端口的數據交換,采用讀寫控制結合三態門可以比較完好的解決。對于大量的Regs讀寫操作,通過模擬單片機對外圍器件的操作。利用Task調用的方式實現。  

模擬仿真的結果如圖4。  


圖4 讀寫操作過程  

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


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

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

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


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

通過Synplify Pro編譯后的結果顯示:  

ProjectTopModule : PWMTopFor8051  
Estimated Frequency: 72.9 MHz  
Total LUTs: 1478 of 4160 (35%)  

占用FPGA資源35%。針對51系列的單片機而言,PWM可運行的頻率遠超過系統頻率。因此在讀寫時序上可以完全保證整個設計的可靠性。  
將編譯后的pof文件下載到APEX20KE EP20K100E TQ144-2X(Altera) fpga[5]驗證板。采用40MHz的FPGA時鐘。根據先前軟件仿真的步驟,將讀寫操作轉換為單片機程序燒錄到單片機。最后的結果通過示波器我們可以清楚的看到實際輸出與設計完全一致。芯片采用.35工藝,一次流片成功后,測試結果顯示結果非常理想,實現了當初的設計要求。
本文地址:http://www.qingdxww.cn/thread-20392-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 我們是Microchip
  • 深度體驗Microchip自動輔助駕駛應用方案——2025巡展開啟報名!
  • 利用模擬開發工具生態系統進行安全電路設計
  • 想要避免發生災難,就用MPLAB SiC電源仿真器!
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日本视频在线免费观看 | 第三人称复仇韩剧在线观看免费 | 天天噜噜揉揉狠狠夜夜 | 日韩精品一区二区三区视频 | 日韩欧美一区二区三区不卡视频 | 在线视频久| 日韩一区二区免费视频 | 欧美一区二区三区国产精品 | 美女黄频视频免费国产大全 | 欧美日韩一区二区三区四区 | www.五月婷| 四虎在线免费观看视频 | 亚洲天堂在线视频观看 | 亚洲欧美视频在线观看 | 毛片网站免费在线观看 | 在线欧美卡1卡2卡三卡四 | 亚洲精品动漫 | 热99精品视频 | 欧美成人午夜在线全部免费 | 国内精品卡一卡二卡三 | 欧美日韩高清 | 亚洲欧美一区二区三区九九九 | 日韩精品特黄毛片免费看 | 99re在线视频免费观看 | 手机看片欧美日韩 | h视频免费在线观看 | 可以免费观看一级毛片黄a 可以免费观看的黄色网址 可以看的黑人性较视频 | 国产成人精品福利色多多 | 国产精品亚洲欧美日韩一区在线 | 亚洲第一免费视频 | 精品在线免费观看视频 | 九九九九九九精品免费 | 国产一区二区三区亚洲欧美 | 永久天堂 | 成人夜色香网站在线观看 | 国产啪爱视频精品免视 | 中文字幕乱码人成乱码在线视频 | 99精品这里只有精品高清视频 | 亚洲国产一 | 日韩簧片| 久久九九99热这里只有精品 |