專案組提了乙個需求,要用cpld做一套風扇的控制邏輯,在bmc掛掉或者未啟動的時候接管風扇的控制,於是研究了一下風扇的控制邏輯。
1、介面
一般伺服器或交換機上的風扇介面都會走以下幾種訊號:(1)power;(2)gnd;(3)pwm;(4)tach/fg;(5)led。
(3)pwm:風扇的轉速控制一般是通過pwm來控制的,頻率一般為25k到50k,占空比從10%到100%可調。pwm引腳的輸入匹配電路如下圖所示。從圖中可以看出在風扇內部事實上是將輸入端電平匹配到了3.3v,因此預設情況下風扇都是滿速轉的。關於pwm對風扇的控制,筆者猜測應該是通過pwm控制內部mos的開關來調節風扇的輸入電壓,類似於開關電源的方法來控制輸入給電機的電壓值,電壓越高對應的轉速越快。
(4)tach訊號:全稱是tachometer,轉速表的意思,一些說明書裡也被稱為fg(frequency generator)訊號。tach訊號輸出的是乙個頻率可變的方波訊號。其原理是,在風扇轉子旁邊布置了乙個霍爾感測器,當電機轉動的時候,電機的轉子的磁體經過霍爾感測器時,輸出乙個高電平,經過訊號處理後輸出乙個方波。方波的2個週期的時間就是電機轉子轉動一圈的時長。因此,電機轉速rpm=freq*60/2。
另外,對於bmc來說,其讀取風扇轉速的原理是使用24m的頻率進行取樣,設定乙個計數器,每乙個時鐘週期會對計數器+1,直到計滿2個週期後,將計數器的值儲存在乙個名叫tachovalue的暫存器裡,然後程序通過讀取該暫存器的值即可通過換算獲取風扇的轉速。
換算公式是rpm=24m*60/(2*tachovalue*tachoclkdivision)
關於伺服器的風扇
公司新配一台伺服器,自己組裝的,我裝好了freebsd 5.1後打算公升級到5.3 release於是用cvsup從cvs伺服器上獲取了最新的statable版的原始碼,開始make buildworld,可是不管我怎麼make它總是到中途就斷了 我用的遠端tel 連線操作的 沒辦法只能跑去機房看了...
伺服器寫介面
準備 阿里雲伺服器一台 系統 windows 2008 64位 環境 jdk tomcat mysql安裝並配置好環境 1.修改tomcat cong server.xml下的預設埠從8080修改為80 2.tomcat bin startup啟動tomcat 3.在客戶端瀏覽器上輸入 123.56...
socket TCP伺服器介面
如下,操作在後 include resource1.h include pragma comment lib,ws2 32.lib define default iport 5000 lresult callback dialproc hwnd hwnd,uint umsg,wparam wpara...