DS1050為5位脈寬調(diào)制器(PWM),由2線總線控制。這樣,單個(gè)主器件就可以在一條8線總線上控制多達(dá)1050個(gè)從器件(DS2和其他2線器件)。本應(yīng)用筆記演示了通過PC串行接口連接到2線總線的接口。給出了硬件和軟件要求,可從達(dá)拉斯半導(dǎo)體FTP站點(diǎn)下載。
介紹
DS1050為5位可編程脈寬調(diào)制器(PWM),允許以0.100%的增量在3至125%之間“動(dòng)態(tài)”改變占空比。它由一個(gè)2線串行接口控制,該接口可在一條1050線總線上尋址多達(dá)2個(gè)DS8。該器件采用 8 引腳 SOIC 和 1 引腳 μSOP 封裝,頻率如下:5kHz、10kHz、25kHz 和 <>kHz。
本應(yīng)用筆記舉例說明DS1050作為直流風(fēng)扇控制器和LED背光LCD背光亮度控制器。此外,本應(yīng)用筆記將介紹如何在單條1050線總線上連接多個(gè)DS2?;?8051 的系統(tǒng)的固件包含在附錄 A 中。
系統(tǒng)概述
圖1中的參考原理圖分為兩個(gè)子系統(tǒng),直流風(fēng)扇電機(jī)控制器模塊和LCD LED背光控制器模塊。此外,還展示了作為2線主站的微控制器,以及它如何與2線從器件DS1050接口。
圖1.參考原理圖。
2線接口
2線主站采用漏極開路輸出(其中一個(gè)必須是輸入和輸出)以及上拉電阻R1和R2來實(shí)現(xiàn),以產(chǎn)生SDA(串行數(shù)據(jù))和SCL(串行時(shí)鐘)信號(hào)。參考原理圖中給出的R1和R2值適用于大多數(shù)應(yīng)用,但可能需要根據(jù)總線電容和所需的通信速度重新計(jì)算。通過將SDA和SCL連接到主器件的SDA和SCL引腳,可以將額外的2線器件添加到總線中。地址引腳A0、A1和A2需要連接高電平或低電平,以便為總線上的每個(gè)器件提供唯一的地址。原理圖中的DS1050 (U1)將三個(gè)地址引腳全部接地,從地址為“000”。DS1050 (U2)設(shè)置為從地址“001”,但是,U1地址以外的任何地址都可以使用。 然后,主站使用這些地址引腳以及DS1050“家族代碼”或器件標(biāo)識(shí)符“0101”與每個(gè)從機(jī)單獨(dú)通信。
圖2顯示了這些位在典型2線事務(wù)中的使用方式。在2線主站生成START條件后,發(fā)送控制字節(jié)(MSBit優(yōu)先)以選擇2線總線上的特定器件??偩€上的所有設(shè)備都“偵聽”控制字節(jié),并檢查它是否與自己的設(shè)備標(biāo)識(shí)符和從屬地址匹配。匹配的設(shè)備將通過將 SDA 拉低至 ACK 來響應(yīng)??刂谱止?jié)的 LSBit 包含 R/W 位。此位確定誰將傳輸下一個(gè)字節(jié),即數(shù)據(jù)字節(jié)。如果R/W位設(shè)置為“1”,則主站將從從機(jī)讀取數(shù)據(jù)。因此,主站將從屬設(shè)備輸入數(shù)據(jù)字節(jié)。如果R/W位為“0”,則主站將數(shù)據(jù)字節(jié)傳輸?shù)綇臋C(jī)。數(shù)據(jù)字節(jié)的 3 MSBit 可以被認(rèn)為是操作碼或指令。例如,如果這些是“110”,則主機(jī)指示DS1050進(jìn)入關(guān)斷模式。如果這3位為“000”,則接下來的5位(PWM數(shù)據(jù))將設(shè)置一個(gè)新的PWM占空比輸出。傳輸(或接收)數(shù)據(jù)字節(jié)后,必須執(zhí)行 ACK(寫入后)或 NACK(讀取后)。ACK(來自從站)表示它在寫入過程中收到了數(shù)據(jù)。NACK(由主站生成)通知從站主站收到字節(jié)并且不再需要任何數(shù)據(jù)。如果DS1050有更多的寄存器,主機(jī)也可以ACK(而不是NACK),表明他[主機(jī)]收到了字節(jié)并希望繼續(xù)讀取。當(dāng)主設(shè)備發(fā)出 STOP 條件時(shí),通信結(jié)束。
圖2.典型的2線交易。
圖3顯示了特定2線指令的幾個(gè)示例。完整的指令列表可在DS1050數(shù)據(jù)資料中找到。
圖3.示例 2-Wire 交易。
雖然一條1050線總線上只能有2個(gè)DS2,但只要其器件標(biāo)識(shí)符與DS1050不同,就可以在總線上添加其他2線器件。這對(duì)于控制額外的<>線器件(如溫度傳感器或數(shù)字電位器)非常有用。
例如,基于8051的固件顯示了如何通信和控制DS1050,請(qǐng)參閱附錄A。另外,有關(guān)2線接口的更多信息,請(qǐng)參考DS1050數(shù)據(jù)資料。
直流風(fēng)扇電機(jī)控制器
圖1參考原理圖中的直流電機(jī)控制器模塊顯示了使用U12(DS1-1050)控制025V直流風(fēng)扇電機(jī)的簡單方法,以產(chǎn)生25kHz脈寬調(diào)制信號(hào),控制輸送到電機(jī)的平均功率。低占空比產(chǎn)生低平均功率,進(jìn)而產(chǎn)生較低的平均功率 速度。隨著占空比的增加,“導(dǎo)通”時(shí)間也隨之增加。平均功率和速度增加。占空比為 0% 表示電機(jī)完全關(guān)閉,而占空比為 50% 表示電機(jī)以半功率開啟。此外,在使用電機(jī)時(shí),重要的是要注意額外的 啟動(dòng)電機(jī)所需的能量。換句話說,不要將占空比設(shè)置為 3.125% 并期望電機(jī)轉(zhuǎn)動(dòng)。您使用的電機(jī)將具有與此現(xiàn)象相關(guān)的規(guī)格。同樣,當(dāng)電機(jī)具有大負(fù)載并預(yù)計(jì)速度大幅躍升時(shí),如果不以幾個(gè)較小的步驟遞增,電機(jī)可能會(huì)失速。這些不是變通辦法,而是物理定律的結(jié)果。幸運(yùn)的是,一旦您知道它們存在,它們就很容易在固件中實(shí)現(xiàn)(盡管包含的固件是開環(huán)的,并且不實(shí)現(xiàn)這兩種情況中的任何一種)。
選擇 PWM 頻率
將PWM連接到電機(jī)時(shí),PWM頻率不能在音頻頻譜范圍內(nèi),這一點(diǎn)很重要。否則,電機(jī)將像揚(yáng)聲器一樣工作,并產(chǎn)生PWM頻率的可聽音調(diào)。因此,參考原理圖中使用了25kHz版本。
選擇 PWM 頻率時(shí)需要考慮的其他因素包括功耗、EMI 輻射和輸出級(jí)限制。從理論上講,25kHz 和 100kHz 版本之間的電流消耗差異為 I=CVf 所示的 4 倍,所有其他條件保持不變。具有諷刺意味的是,100kHz版本僅消耗300μA的電流,但電機(jī)的牽引力要高出幾個(gè)數(shù)量級(jí)。
雖然EMI輻射并不總是最初的設(shè)計(jì)考慮因素,但如果系統(tǒng)EMI輻射后來成為問題(由于其他元件),你可以研究哪個(gè)版本的DS1050對(duì)問題頻率的貢獻(xiàn)最小。
最后,如果由于某種原因需要對(duì)Q1使用特定的功率MOSFET,則需要檢查MOSFET的柵極閾值電壓,以查看它是否可以直接從5V數(shù)字PWM驅(qū)動(dòng),而無需任何電平轉(zhuǎn)換。此外,您還需要驗(yàn)證 MOSFET 是否可以處理您正在考慮的 PWM 頻率。
DS1050的數(shù)字PWM輸出在額定頻率和編程占空比下從地?cái)[幅至Vcc。上電默認(rèn)占空比為50%。PWM 輸出控制 Q1 的柵極,Q12 是一個(gè) n 溝道功率 MOSFET,能夠處理 100V 電機(jī)所需的電流。典型的電機(jī)電流可以是500mA至1mA。Q2的柵極閾值電壓為0.4-0.1050V。DS1直接驅(qū)動(dòng)Q<>的柵極不會(huì)有問題。
電機(jī)的電源端子上需要 1N40018 二極管 D1,以箝位風(fēng)扇關(guān)閉時(shí)產(chǎn)生的任何反電動(dòng)勢(shì),但由于其動(dòng)量而仍在旋轉(zhuǎn)。這在使用脈寬調(diào)制時(shí)尤其重要,因?yàn)楫?dāng)風(fēng)扇正常運(yùn)行時(shí),其功率每秒循環(huán) 25,000 次。在“關(guān)閉”期間,風(fēng)扇旋轉(zhuǎn),然后電機(jī)成為發(fā)電機(jī)并產(chǎn)生反電動(dòng)勢(shì)。
當(dāng)指示DS1050進(jìn)入關(guān)斷模式時(shí),PWM輸出浮動(dòng)。因此,為了在關(guān)斷期間保持Q1的柵極處于已知狀態(tài),使用下拉電阻R3來確保風(fēng)扇關(guān)閉。如果希望電機(jī)在DS1050關(guān)斷時(shí)導(dǎo)通,該電阻也可以用作上拉電阻,但這確實(shí)違背了關(guān)斷的目的。
像往常一樣,提供足夠的解耦很重要。同樣,去耦電容C1必須具有良好的高頻性能,并且使用短PCB走線盡可能靠近U1。
附加說明
盡管PWM非常適合控制標(biāo)準(zhǔn)直流電機(jī),但如果您打算使用某些直流電機(jī)上的轉(zhuǎn)速計(jì)輸出,則需要進(jìn)行額外的研究。由于這些風(fēng)扇的轉(zhuǎn)速計(jì)輸出通常是集電極開路(并使用外部上拉電阻),因此當(dāng)風(fēng)扇電源進(jìn)行脈寬調(diào)制時(shí),特別是當(dāng)集電極開路輸出將線路拉低時(shí),就會(huì)出現(xiàn)問題。這也可能因電機(jī)制造商而異。在需要轉(zhuǎn)速計(jì)輸出的情況下,使用p溝道MOSFET代替n溝道MOSFET可能是有益的,n溝道MOSFET與DS1050接口,使用某種電平轉(zhuǎn)換器來驅(qū)動(dòng)MOSFET的柵極。
液晶 LED 背光亮度控制器
圖1中的背光亮度控制器模塊顯示了如何使用PWM控制LED背光亮度的示例。這不是為了控制LCD對(duì)比度電壓,V電子電氣,而是LED背光??梢哉业皆S多應(yīng)用筆記,說明如何控制V電子電氣但由于5V LED背光相對(duì)較新,本應(yīng)用筆記尚屬首次。
本示例中使用的 LCD 是 Optrex DMC20481 20x4 字符顯示器。該顯示器的一個(gè)不錯(cuò)的功能是5V黃綠色LED背光,而不是最近的背光,需要高壓逆變器來驅(qū)動(dòng)背光。此液晶屏使用標(biāo)準(zhǔn)單排16針連接器與系統(tǒng)連接。引腳 15 是 LED 背光陽極,引腳 16 是 LED 陰極。LED 正向電壓典型值為 4.1V,最大正向電流為 260mA。
通過改變PWM占空比,輸送到LED的平均功率也會(huì)發(fā)生變化。低占空比意味著 LED “熄滅”多于“亮起”。這將產(chǎn)生一個(gè)昏暗的 LED。隨著占空比的增加,功率也隨之增加,因此LED也更亮。當(dāng)占空比設(shè)置為 100% 時(shí),LED 在 100% 的時(shí)間內(nèi)以最大亮度亮起。
選擇 PWM 頻率
使用 PWM 控制 LED 相當(dāng)簡單。它工作的唯一要求是PWM足夠快,以至于我們的眼睛看不到LED閃爍,大約是30Hz。然而,最慢的DS1050是1kHz。這將正常工作??紤]任何更快的版本都沒有優(yōu)勢(shì)。事實(shí)上,我們將, 使用消耗電流最少的較慢部分(不過,DS1050的電流消耗為零,而LED背光的電流消耗為260mA)。最后,由于1kHz相對(duì)較慢,EMI輻射和輸出級(jí)限制無關(guān)緊要。
驅(qū)動(dòng)電路
DS1050-001 (U2)用于產(chǎn)生1kHz脈寬調(diào)制信號(hào),再次控制輸送到負(fù)載的平均功率。U2的PWM輸出在額定頻率和編程占空比下從地到Vcc。上電默認(rèn)占空比為50%。PWM 輸出控制 Q2 的柵極,Q260 是一款 n 溝道功率 MOSFET,能夠處理 LED 背光所需的 2mA 電流。Q2的柵極閾值電壓為0.4-0.<>V,因此將PWM輸出直接饋送到柵極不會(huì)成為問題。
1N4001二極管D2用于將Vcc降至4.3V,低于LED的最大正向電壓。可以使用電阻器代替二極管,但由于電流相對(duì)較大,因此需要更大功率的電阻器。
當(dāng)DS1050被指示進(jìn)入關(guān)斷模式時(shí),它使PWM輸出浮動(dòng)。因此,為了在關(guān)斷期間保持Q2的柵極處于已知狀態(tài)并防止其浮動(dòng),使用下拉電阻R4來確保背光關(guān)閉。
像往常一樣,提供足夠的解耦很重要。同樣,去耦電容C2必須具有良好的高頻性能,并且使用短PCB走線盡可能靠近U2。
附加說明
如果您的應(yīng)用也需要控制LCD對(duì)比度電壓VEE技術(shù),DS1803將是一個(gè)完美的選擇。只需將DS1803的SDA和SCL連接到2線總線,然后選擇一個(gè)從地址來設(shè)置A2、A1和A0。但是,由于DS1803和DS1050共享相同的器件標(biāo)識(shí)符“0101”,因此您選擇的從地址必須不同于U1和U2的地址。
有關(guān)控制LCD對(duì)比度電壓的更多信息,請(qǐng)參閱達(dá)拉斯半導(dǎo)體應(yīng)用筆記69微功耗電路監(jiān)視正電源電流。
固件
基于 8051 的系統(tǒng)的固件包含在附錄 A 中。本文旨在舉例說明與DS1050通信所需的下層例程。 但請(qǐng)注意,固件實(shí)現(xiàn)了開環(huán)系統(tǒng)。環(huán)路可以輕松閉合,例如,通過添加 2 線溫度傳感器并根據(jù)溫度控制風(fēng)扇速度。但為了舉例說明與DS1050通信的示例,一個(gè)基于菜單的開環(huán)示例是有益的。PC終端程序用于發(fā)出DS1050s命令。然后可以在固件中查找這些命令,以準(zhǔn)確查看正在執(zhí)行的內(nèi)容?;静藛蚊钊缦拢?/p>
增量 PWM 占空比 U1
降低 U1 的 PWM 占空比
增量 PWM 占空比 U2
降低 U2 的 PWM 占空比
保留供將來使用(用于控制DS1803)
保留供將來使用(用于控制DS1803)
將 U1 和 U2 置于關(guān)機(jī)模式
退出關(guān)機(jī)模式 U1 和 U2
從 U1 和 U2 讀取并顯示在 PC 屏幕上
系統(tǒng)上電時(shí),DS1050默認(rèn)為50%占空比。任一器件的占空比都可以使用相應(yīng)的菜單命令降低。前 8 個(gè)菜單命令的固件顯示如何執(zhí)行 2 線寫入,而菜單命令 9 顯示 2 線讀取。
下面是設(shè)置 PWM 占空比的示例。
LCALL START2WIRE ; 2-WIRE START MOV A,#PWM1WRITE ; DEVICE IDENTIFIER=0101, SLAVE ADDRESS=000, R/W=0 LCALL WRITEBITS ; SEND THE COMMAND BYTE LCALL ACKSLAVEWRITE ; CHECK FOR AN ACKNOWLEDGE FROM THE SLAVE MOV A,PWM1DATA ; PWM1DATA IS A VARIABLE CONTAINING THE DESIRED DUTY CYCLE LCALL WRITEBITS ; SEND DATA LCALL ACKSLAVEWRITE ; CHECK FOR AN ACKNOWLEDGE FROM THE SLAVE LCALL STOP2WIRE ; 2-WIRE STOP
此代碼實(shí)現(xiàn)圖 3-B 中所示的示例。
下面是將兩個(gè) D1050 置于關(guān)斷模式的示例(類似于圖 3-A)。
; PWM1 LCALL START2WIRE ; 2-WIRE START MOV A,#PWM1WRITE ; DEVICE IDENTIFIER=0101, SLAVE ADDRESS=000, R/W=0 LCALL WRITEBITS ; SEND COMMAND BYTE LCALL ACKSLAVEWRITE ; CHECK FOR ACKNOWLEDGE FROM THE SLAVE MOV A,#0C0H ; SHUTDOWN COMMAND, (CHANGE TO 80 TO EXIT SHUTDOWN) LCALL WRITEBITS ; SEND COMMAND LCALL ACKSLAVEWRITE ; CHECK FOR ACKNOWLEDGE FROM THE SLAVE LCALL STOP2WIRE ; 2-WIRE STOP ; PWM2 LCALL START2WIRE ; 2-WIRE START MOV A,#PWM2WRITE ; DEVICE IDENTIFIER=0101, SLAVE ADDRESS=001, R/W=0 LCALL WRITEBITS ; SEND COMMAND BYTE LCALL ACKSLAVEWRITE ; CHECK FOR ACKNOWLEDGE FROM THE SLAVE MOV A,#0C0H ; SHUTDOWN COMMAND, (CHANGE TO 80 TO EXIT SHUTDOWN) LCALL WRITEBITS ; SEND COMMAND LCALL ACKSLAVEWRITE ; CHECK FOR ACKNOWLEDGE FROM THE SLAVE LCALL STOP2WIRE ; 2-WIRE STOP
最后,下面是兩個(gè)DS1050的示例。
; READ PWM1 LCALL START2WIRE ; 2-WIRE START MOV A,#PWM1READ ; DEVICE IDENTIFIER=0101, SLAVE ADDRESS=000, R/W=1 LCALL WRITEBITS ; SEND COMMAND BYTE LCALL ACKSLAVEWRITE ; CHECK FOR ACKNOWLEDGE FROM THE SLAVE LCALL READBITS ; READ DATA FROM DS1050 #1 (FAN PWM) MOV PWM1DATA,A ; THE ACC CONTAINS THE DATA READ FROM THE DS1050 ; NACK FROM MASTER NOT REQUIRED, BUT OPTIONAL LCALL STOP2WIRE ; 2-WIRE STOP LCALL PACCSP ; DISPLAY BYTE ON PC SCREEN FOLLOWED BY A SPACE ; READ PWM2 LCALL START2WIRE ; 2-WIRE START MOV A,#PWM2READ ; DEVICE IDENTIFIER=0101, SLAVE ADDRESS=001, R/W=1 LCALL WRITEBITS ; SEND COMMAND BYTE LCALL ACKSLAVEWRITE ; CHECK FOR ACKNOWLEDGE FROM THE SLAVE LCALL READBITS ; READ DATA FROM DS1050 #2 (LCD PWM) MOV PWM2DATA,A ; THE ACC CONTAINS THE DATA READ FROM THE DS1050 ; NACK FROM THE MASTER NOT REQUIRED, BUT OPTIONAL LCALL STOP2WIRE ; 2-WIRE STOP LCALL PACCSP ; DISPLAY DATA ON PC SCREEN LCALL CRLF ; NEWLINE
附錄 A 中的固件以及其他信息可在本應(yīng)用筆記末尾的聯(lián)系信息下找到。
結(jié)論
DS1050是一款易于使用的專用PWM,通過減輕微控制器產(chǎn)生PWM時(shí)序的責(zé)任,簡化了系統(tǒng)設(shè)計(jì)。它不限于本應(yīng)用筆記所示的電機(jī)控制器和LED控制器,還可用于任何需要控制輸送到負(fù)載的功率的應(yīng)用。此外,DS1050的吸引力也呈指數(shù)級(jí)增長,因?yàn)閱螚l1050線總線上最多可以放置2個(gè)DS1050,因此需要額外的PWM和頻率。2線總線上的每條DS2都可以單獨(dú)尋址,并發(fā)送一些簡單的1050線命令來設(shè)置、控制和讀取PWM。最棒的是,DS8采用纖巧型1引腳μSOP封裝,頻率如下:5kHz、10kHz、25kHz和<>kHz。
s審核編輯:郭婷Bryan Legates
-
led
+關(guān)注
關(guān)注
242文章
23296瀏覽量
661295 -
lcd
+關(guān)注
關(guān)注
34文章
4427瀏覽量
167661 -
PWM
+關(guān)注
關(guān)注
114文章
5190瀏覽量
214128
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論