嵌入1-Wire主機

發(fā)布時(shí)間:2010-8-31 10:22    發(fā)布者:techshare
關(guān)鍵詞: 1-Wire , 主機
1-Wire主機DS1WM,稱(chēng)作1WM,創(chuàng )建它是為了便于實(shí)現主機CPU通過(guò)1-Wire總線(xiàn)與器件進(jìn)行通信,而無(wú)須涉及位時(shí)序操作。本應用指南闡述如何將1-Wire主機(1WM)嵌入到用戶(hù)ASIC設計之中。本文提到的DS89C200只是一個(gè)理論上的微控制器,另外,假定讀者已經(jīng)具備了1-Wire主機DS1WM和1-Wire協(xié)議的一般知識。如欲了解更詳細信息,請參閱 Book of Button Standards和 DS1WM數據資料。

結構

DS1WM排列象一個(gè)頂級的甲胄,連接四個(gè)子模塊,構成一個(gè)完整的單元。在這個(gè)頂級的甲胄中并沒(méi)有HDL代碼。四個(gè)子模塊分別是:one_wire_interface、one_wire_master 、clk_prescaler和one_wire_io。對于那些不需要時(shí)鐘分頻器的應用,如果提供外部1MHZ時(shí)鐘源作為clk_1us 時(shí)鐘信號,就可以省去預分頻器模塊(如DS1WM數據資料中的τ注釋?zhuān)斎霑r(shí)鐘指定在0.8MHz至1.0MHz之間)。

單總線(xiàn)輸入輸出模塊為DATA總線(xiàn)和DQ提供雙向信號。在大多數應用中,DQ信號是一個(gè)I/O引腳。如果是這種情況,DQ引腳驅動(dòng)器必須是一個(gè)漏極開(kāi)路引腳,且具有合適的ESD保護(參見(jiàn)圖1)。另外,如果外圍器件所使用的上拉電壓高于1WM電源電壓,則引腳驅動(dòng)器還必須承受這樣的超限電壓,且不能使用鉗位二極管。Dallas建議采用輸出阻抗100Ω的驅動(dòng)器(Q1),以及一個(gè)4.7kΩ的外部DQ上拉電阻至芯片VCC。為保證芯片能夠正常工作,芯片VCC必須高于1-Wire從器件的高電平門(mén)限VIH。   

  

圖1:DQ驅動(dòng)(one_wire_io)

程序庫

Verilog源程序的編譯無(wú)需外部庫文件,而VHDL源程序則需要IEEE.std_logic_1164和work.std_arith庫文件。

連接

下表列出了1 - Wire主機正常工作需要連接的引線(xiàn)。   



如果系統沒(méi)有地址選通信號,/ADS可以接為低電平,使地址鎖存器直通。/EN信號應由地址譯碼邏輯產(chǎn)生,在外部連接至1-Wire主機模塊。如果1WM是數據總線(xiàn)上唯一的器件,則/EN可以接為低電平。連到CLK上的系統時(shí)鐘頻率必須在3.2MHz到128MHz之間。關(guān)于詳細的連接操作,請參考 DS1WM11-Wire Master datasheet。

例程

下面是如何采用Verilog語(yǔ)言創(chuàng )建1-Wire主機例程的一個(gè)實(shí)例。   



xcpu產(chǎn)生的所有信號都滿(mǎn)足1-Wire主機的時(shí)間要求。由于在數據總線(xiàn)上不存在其他可尋址邏輯,所以/EN_就接為低電平。DQ_OUT信號直接連接至一個(gè)I/O引腳。 合成

該設計的合成非常簡(jiǎn)單明了。建議采用自下而上的方法分別編譯各個(gè)子模塊,然后有選擇地在頂層進(jìn)行編譯。系統時(shí)鐘信號和1us時(shí)鐘信號必須考慮一定的時(shí)序要求,異步控制信號如/WR、/EN、/ADS和MR也需要滿(mǎn)足一定的時(shí)序要求,clk_1us可能所需要的額外要求是不要在時(shí)鐘信號上插入緩沖器。在大多數情況下需要采用某種時(shí)鐘分配方案,如樹(shù)型結構時(shí)鐘。

資源包括:源代碼、實(shí)例合成腳本以及Synopsys設計編譯器一起使用的Makefile文件。為了調用這些資源,有必要創(chuàng )建一個(gè).synopsys_dc.setup文件,以定義目標合成庫文件。除此之外,還需要修改包含環(huán)境文件(名為"environment"),以指定器件所采用的目標庫文件,從而指定輸出驅動(dòng)能力和輸入負載。這些實(shí)例腳本是非常粗略的,而實(shí)際的腳本和約束文件將由工程師創(chuàng )建,以滿(mǎn)足特定設計的時(shí)序要求。有必要提醒一下:1-Wire主機單元中的時(shí)序在設計上無(wú)法保證完全同步,這是因為DQ輸出同步于CLK信號,而總線(xiàn)時(shí)序僅在CPU使用CLK時(shí)鐘來(lái)產(chǎn)生/RD和/ADS信號時(shí),才同步于CLK。

本例設計是完全獨立的,已經(jīng)被成功編譯為FPGA和ASIC的目標文件。當面向一個(gè)典型的ASIC目標庫文件合成時(shí),本設計使用大約110個(gè)觸發(fā)器、3個(gè)鎖存器和1492個(gè)邏輯門(mén)。
本文地址:http://selenalain.com/thread-24766-1-1.html     【打印本頁(yè)】

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

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页