常有這種情況,需要在沒(méi)有直接電纜連接的情況下,將一些位或字節(jié)的數(shù)據(jù)送給一個(gè)微控制器。實(shí)現(xiàn)這一目標(biāo)的一種簡(jiǎn)單方式是使用到處可見(jiàn)的紅外接收器,如Vishay公司的TSOP17xx或類似接收器,它們一般用于紅外遙控設(shè)備,如電視和錄像機(jī)。這些裝置很容易實(shí)現(xiàn),因?yàn)樗鼈儾恍枰饨釉?。這些接收器通常使用一個(gè)38kHz的脈沖載波,并帶有一個(gè)放大器、自動(dòng)增益控制和解調(diào)器。
簡(jiǎn)單應(yīng)用的主要問(wèn)題是建立發(fā)射機(jī),它需要一個(gè)38kHz的起始-停止振蕩器、附加電源,以及毫秒與亞毫秒范圍內(nèi)的調(diào)制脈沖。用PC操作系統(tǒng)難以控制這些要素。另一方面,PC串行端口的標(biāo)準(zhǔn)傳輸速率為38400bps,用一個(gè)簡(jiǎn)單的倍頻器和兩只紅外LED就可以生成精確的38.4kHz的脈沖數(shù)據(jù)(圖1)。當(dāng)用另一種O/I模式(HEX55)傳輸字節(jié)時(shí),每個(gè)HEX55字節(jié)都生成一串18個(gè)脈沖,再加上起始位與停止位以及連續(xù)字節(jié),就可以生成較長(zhǎng)的脈沖。
接收器需要的脈沖串范圍從10個(gè)~70個(gè)脈沖,之間有大致相當(dāng)?shù)拈g歇;用這種設(shè)置可以很容易滿足這些要求。可以發(fā)送HEX0字節(jié)生成短間歇,不過(guò)每個(gè)字節(jié)會(huì)傳送兩個(gè)脈沖,因?yàn)槠鹗嘉慌c停止位的關(guān)系。但是,接收器會(huì)忽略掉這些脈沖。停止一次傳輸可以生成較長(zhǎng)的間歇。必須根據(jù)使用的接收器情況,偶爾插入較長(zhǎng)的間歇。用長(zhǎng)、短脈沖串和適當(dāng)?shù)膮f(xié)議就可以實(shí)現(xiàn)數(shù)據(jù)傳輸。
圖1中的電路與串行端口輸出阻抗和電容一起構(gòu)成了一個(gè)高通濾波器。正脈沖驅(qū)動(dòng)一只紅外LED;負(fù)脈沖驅(qū)動(dòng)另一只。兩只都應(yīng)指向接收器。PC端口一般提供5mA~20mA的最大電流,以及±15V電壓,因此輸出電阻在數(shù)千歐姆范圍內(nèi)。一般不需要限流電阻。多數(shù)情況下,電容容量為1nF~10nF就可以了。接收器有寬容度。如果是非PC端口,則需要調(diào)整電容值,例如微控制器,因?yàn)樗淖杩馆^低。在實(shí)際應(yīng)用中,如果LED對(duì)準(zhǔn)接收器,用低至5mA的LED峰值電流就可以實(shí)現(xiàn)2米~4米的傳輸距離??商峁?duì)PC的實(shí)例程序。