남는 아두이노 키트를 주물럭거리다 한번 하드웨어 모니터/팬컨트롤러를 만들어볼까 생각이 들어 하다보니 하는김에 좀 더 공을 들이고자 합니다.
보통 시스템의 온도나 소비전력 같은 상황을 모니터링 할때 데스크탑 어플리케이션을 상주시켜 이걸 아두이노로 전송해 확인하는 방식은 작게나마 시스템의 리소스를 잡아먹기도 하고, 시스템이 다운되었다거나 어플리케이션이 충돌한다거나 하는 상황에선 정확한 정보가 안나오는 문제에 응답속도가 생각처럼 빠릿하게 굴러가주질 않는 부분까지 더해져서 아예 아두이노가 관련정보를 SuperIO 칩에서 바로 받아올 방법은 없는지 알아보는 중입니다.
넷상에 검색해서 나오는건 거의 대부분이 데스크탑에 하드웨어 모니터 어플리케이션을 상주시켜 아두이노로 정보를 전송하는 방식이고, 마더보드의 컨트롤러칩의 I2C 버스를 스니핑하는 방법은 현재 보드가 사용중인 SuperIO칩인 NCT6798D의 핀아웃 정보도 없을뿐더러 있더라도 다리가 너무 가늘어서 제 손으로 손대기가 많이 난감합니다.
혹여 아두이노에서 시스템의 온도나 소비전력 정보 등에 SMBus의 정보에 바로 접근할 마땅한 다른 방법이 있는지 궁금합니다.
smbusµµ i2c Àε¥ multi master Áö¿øµÇµµ·Ï ¼³°è µÈ°Ô ¾Æ´Ï¶ó¸é arduino°¡ Á÷Á¢ smbus master·Î¼ ÀÛµ¿ÇÏ´Â°Ç À§ÇèÇÏÁö ¾ÊÀ»±î ÇÕ´Ï´Ù.
https://storepeter.dk/linux/i2c-sniffer-using-arduino
ÇÉÀº ¶óÀÌÀú ÀÌ¿ëÇؼ pciexÀÇ smbus(i2c) ¸¦ »©³»¸é µÇÁö ¾ÊÀ»±î ÇÕ´Ï´Ù.
BMC´Â ÆÒ ÄÁÆ®·Ñµµ ÀÚµ¿À¸·Î µË´Ï´Ù..
SuperIO´Â LPC ¹ö½º¿¡ ÁÖ·Î ¹°¸®´Â°É·Î ¾Ë°í Àִµ¥ ÀÌ°Ç Àü¿ë Çϵå¿þ¾î ¾Æ´Ï¸é ¾ÆµÎÀÌ³ë ¼öÁØ IO·Î ±¸Çö ºÒ°¡´ÉÇÕ´Ï´Ù.
±× ÀÏ´Ü ÇÑ°¡Áö ¸»¾¸µå¸®ÀÚ¸é SIOĨÀº º¸Åë SMBUS¸¦ Áö¿øÇϱä ÇÏÁö¸¸.
º¸µå Á¦Á¶»ç ÀÔÀå¿¡¼´Â ²À SMBUS¸¦ ¾µ ÀÌÀ¯´Â ¾ø½À´Ï´Ù.
µ¥½ºÅ©Å¾ º¸µåÀÇ °æ¿ì È£½ºÆ® CPU¸»°í ´Ù¸¥ ÀåÄ¡°¡ SIO Ĩ¿¡¼ Çϵå¿þ¾î ¸ð´ÏÅ͸µ Á¤º¸¸¦ ÀÐ¾î °¥ ¼ö ÀÖµµ·Ï ¸¸µé¾î¾ß ÇÒ Àý½ÇÇÔÀÌ Å©Áö ¾Ê°í
host CPU´Â ±×³É LPC ¹ö½º·Î Á¢±ÙÇؼ ÇÊ¿äÇÑ Á¤º¸¸¦ ÀüºÎ ±Ü¾î °¡¸é ±×¸¸ÀÔ´Ï´Ù.
±×·¡¼ SIOĨÀÇ I2c ÇÉÀÌ È£½ºÆ®ÀÇ SMBUS ¿¡ ¿¬°á µÇ¾î ÀÖÁö ¾ÊÀº º¸µåµµ ¸¹½À´Ï´Ù.
https://www.2cpu.co.kr/bbs/new_view.php?bo_table=freeboard_2011&wr_id=1089440&qstr=&page=12
ÀÌ°Ç Á¦°¡ ºñ½ÁÇÑ ÁþÀ» Çß´ø °Çµ¥.. ÀÌ º¸µåµµ È£½ºÆ®ÀÇ SMBUS¿¡ SIOÀÇ i2c ¹ö½º°¡ ¿¬°á µÇ¾î ÀÖÁö ¾Ê¾Ò½À´Ï´Ù.
È£½ºÆ® PCÀÇ SMBUS¸¦ DIMMµî¿¡¼ µû ³×¼ ½º´ÏÇÎ ÇÏ´õ¶óµµ ºÎÁú ¾øÀ» °¡´É¼ºÀÌ ²Ï Å©´Ù´Â °ÅÁÒ.
Âü°í·Î µ¥½ºÅ©Å¾ º¸µåÀÇ °æ¿ì PCIE ±Ô°Ý¿¡ ÀÖ´Â SMBUS ¿¬°áµµ »ý·«µÇ¾î ÀÖ´Â °æ¿ì ¸¹½À´Ï´Ù.
SIOĨ°ú Åë½ÅÇÏ´Â°É Æ÷±âÇÏ°í ´Ù¸¥ ¹æ¹ýÀ» ãÀÚ¸é »ç½Ç»ó ¹æ¹ýÀº Çϳª »ÓÀε¥..
SIO°¡ ¼öÁýÇÏ´ø ÀڷḦ ¸ù¶¥ ¾ÆµÎÀ̳밡 ´ë½Å ¼öÁýÇÏ°Ô ¸¸µå´Â°Ì´Ï´Ù..
±×·±µ¥ ¿©±â¼ °ï¶õÇÑ°Ô CPU ¿Âµµ¸¦ ¼öÁýÇÏ´Â 1 wire ÀÎÅÍÆäÀ̽º°¡ °ø°³°¡ ¾Æ´Õ´Ï´Ù.
¹°·Ð ³ª¸ÓÁö µµ ¸¸¸¸ÇÏÁö´Â ¾ÊÀº°Ô.. Àü¾Ð ¸ð´ÏÅ͸µ ÇÉÀ» µû ³×´Â°Íµµ ´«¾Ë ºüÁö´Â ÀÏÀÌ°í
ÆÒ¼Ó ÇÉ Ä«¿îÆà Çϴ°͵µ 8bit ¾ÆµÎÀ̳ë·Î´Â Á» °ï¶õÇÒ ¼ö ÀÖ½À´Ï´Ù..
Á¦°¡ ±× º¸µå¸¦ ¾µ¶§ ÇÁ¸°ÅÍ Æ÷Æ®¸¦ ¾µ ¼ö ÀÖ¾ú´ø °ÍÀº Á¶±Ý ¿î»¡(?) ÀÌ¿©¼ ÀÚ¼¼È÷ ¸»¾¸À» µå¸®Áö´Â ¾Ê¾Ò´Âµ¥..
»ç½Ç ±× ¶«Áú ³À̵µ ±Øº¹ ¾È °í¼´Â ´äÀÌ ³ª¿À±â Èûµì´Ï´Ù.
SIO ´ë½Å ¾ÆµÎÀ̳븦 »ç¿ëÇؼ Á¤º¸¸¦ ¼öÁýÇÏ´Â ¹æ¾Èµµ ºñ½ÁÇÑ ³À̵µ ¶«ÁúÀ» ¿©·¯Â÷·¡ ÇØ¾ß Çϱ¸¿ä.
ÀÎÅͳݿ¡ °Ë»öÇؼ Àß ¾È ³ª¿À´Â °Ç ´Ù ÀÌÀ¯°¡ Àֱ⠸¶·ÃÀÔÁÒ...
EDK2·Î EFI ¾îÇø®ÄÉÀ̼ÇÀ».. ÃÖ°í½Ê´Ï´Ù..bb
BMC°¡ ºÙ¾î ÀÖ´Â ¼¹ö ¸¶´õº¸µå¿¡´Â PMBUS ¶ó´Â °ÍÀÌ ÀÖ½À´Ï´Ù..
ÆÄ¿öÂÊ ¸ð´ÏÅ͸µÀ» Çϱâ À§ÇÑ ÀÎÅÍÆäÀ̽º ÀÔ´Ï´Ù..
º¸µåÀÇ 24ÇÉ ÆÄ¿ö Ä¿³ØÅÍ ºÎ±Ù¿¡ CD-ROM ¿¬°á Ä¿³ØÅÍ °°ÀÌ »ý±ä Ä¿³ØÅÍ·Î µÇ¾î ÀÖ½À´Ï´Ù.. (½ÅÈ£¼±Àº 5°³ÀÌÁö¸¸ ½ÇÁ¦ PMBUS´Â 2°³ ÀÏ °ÍÀÔ´Ï´Ù..)
PMBUS´Â Ç¥Áصµ ÀÖÁö¸¸ ÀϹÝÀûÀ¸·Î º¸µå Á¦Á¶»ç¿¡¼ ÀÌ°ÍÀ» º¯Çü ½ÃÄÑ Àڱ⠵¶ÀÚÀû ½ÅÈ£¸¦ ¸¸µé¾î »ç¿ëÇÕ´Ï´Ù..
µû¶ó¼ ±× Á¦Á¶»ç°¡ ¸¸µé°Å³ª ±× Á¦Á¶»ç°¡ ȣȯµÇ´Â ÆÄ¿ö¸¸ ±× ÆÄ¿ö¿¡ ¿¬°á½Ã Àç´ë·Î µ¿ÀÛÇÕ´Ï´Ù..
PMBUS´Â °¢Á¾ ½ÅÈ£¸¦ ¸¶´õº¸µå¿¡ BMC ¿¡ º¸³»°Å³ª ¹Þ°Å³ª Çϴµ¥ ÀÌ°ÍÀº IPMI ¿¡¼ ¸î°¡Áö ÆÄ¿ö °ü·Ã Ç׸ñ°ú ¿¬°áµË´Ï´Ù..
¼öÆÛ¸¶ÀÌÅ©·Î °°Àº °æ¿ì´Â ¿¾³¯ ½Ã½ºÅÛ¿¡¼´Â I2C ¸¦ ÀÌ¿ëÇÏ°í ½ÅÇü ½Ã½ºÅÛ¿¡¼´Â PMBUS ȤÀº I2C¸¦ »ç¿ëÇÕ´Ï´Ù..
½´ÆÛ¸¶ÀÌÅ©·Î ¼¹ö ÆÄ¿ö ¸ðµâÀÇ ½ºÆÑ ÀڷḦ ±¸ÇÑ´Ù¸é ¾î¶»°Ô ½ÅÈ£°¡ ÁÖ¾îÁö°í µ¿ÀÛÇÏ´ÂÁö Á¤¸®µÇ¾î ÀÖ½À´Ï´Ù..
https://www.youtube.com/watch?v=3BXkVnz8vNo
https://www.youtube.com/@johannes4gnu_linux96
SMBUS ±¸±Û¸µÇÏ´Ù°¡ ãÀº À¯Æ©ºêÀε¥ ÀÌ°ÍÀú°Í ¸¹ÀÌ µé¾î ÀÖ´Â µíÇÕ´Ï´Ù..
ÇÏÁö¸¸ ¸Å¿ì ¾î·Æ´Ù°í(ºÒ°¡´ÉÇÒ Á¤µµ·Î) »ý°¢ÇÕ´Ï´Ù.
Áú¹®±ÛÀε¥ µµ¿òÀÌ ¾ÈµÇ´Â ´äº¯À̶ó Á˼ÛÇÕ´Ï´Ù..
»õ·Î¿î ÆÒÀÇ µ¿ÀÛÀ» ½ÃÅ°°í ¶Ç ±× ÆÒÀÇ RPM À» Àоî¼
±× ÆÒÀ» ÄÁÆ®·Ñ ÇÏ¸é µÉ °Í °°³×¿ä.