2017年8月30日 星期三

光纖通訊~Fiber Optic

光纖通訊Fiber-optic communication)也作光纖通訊,是指一種利用光纖optical fiber)傳遞資訊的一種方式,屬於有線通訊的一種。光經過調變modulation)後便能攜帶資訊。
利用光纖做為通訊之用通常需經過下列幾個步驟:
·         發射器transmitter)產生光訊號。
·         以光纖傳遞訊號,同時必須確保光訊號在光纖中不會衰減或嚴重變形。

·         接收器receiver)接收光訊號,並且轉換成電訊號


至於發射器及接收器與光纖可以參考Industrial optic的產品 http://i-fiberoptics.com/fiber-optic-leds.php, 要注意的是發射器與接收器光譜波長盡量要相同,這樣做響應才會匹配!

之前曾經在學校中使用IF E91D及IF D91用來做電池平衡板的通訊,由於電池是串連的,多串之後電壓非常高,採四串一片BMS做管理,假設電池有16串,那共有四片BMS,如果將四片BMS共地通訊的話,會因為電池短路產生燒毀,因此必須採用隔離通訊,而光通訊就是一個很好的方式!


光纖Cable

光發射器(IF E91D)





光接收器(光二極體)




 光放大電路很簡單,下圖的建議電路為反向型的,也就是說當有光接收時輸出為LOW,而放大原理也很簡單,光接收器接受光時產生逆向光電流,由於OP輸入阻抗無限大,因此電流不會流入OP的反向輸入端,而會流向RF, V = Id * RF,因此有一個輸出電壓,若邏輯上不習慣可以將IF D91的A(+)接地然後K(-)接OP的反向輸入端,這樣輸出邏輯就會是正的,放大電路完成之後必須考量若要傳送的是數位訊號,就要將訊號變成Full swing,因此OP輸出之後再接比較器去做電壓得比較,就可以完成數位01010101的輸出了!
使用上可以直接將光發射器利用MCU的UART TX去控制訊號的發送,然後接收器接到另外一個MCU的UART RX,利用MCU的UART Module很容易可以解出所送出的資料!
對於光的傳送也可以進行調變,例如使用ASK搭配OOK(ON/OFF Keying)協定,訊號進去OP放大之後會如下圖的正弦波,再透過Logarithmic amplifier將訊號整形(類似低通),然後經由比較器將訊號轉數位01訊號,經過調變之後的訊號在資料的錯誤率會比較低!

Logarithmic Amplifier(對數放大器)訊號處理示意圖如下,INPUT為ASK調變的訊號,經過對數放大器後為OUTPUT,若再經過比較器之後就會變成漂亮的數位輸出!


STM32於IAR 9.3以後的版本將uart導向至printf

首先,請先參考如以下IAR提供的"在IAR Embedded Workbench中实现打印输出技術資料" https://www.iar.com/cn/knowledge/support/technical-notes/general/implementing-printf-ou...