Intercepting signals from mobo to the ECP!

Author
geort45
ACX Member
  • Total Posts : 491
  • Reward points : 0
  • Joined: 2010/04/06 16:06:22
  • Status: offline
  • Ribbons : 0
2011/01/21 22:48:13 (permalink)
Hi!

In this long road that has been acquiring hardware and modding it, one thing that I'm trying to do is to monitor, control and display a few basic things about the system, nothing too complicated IMO. I bought an arduino board, sensors, pots, a LCD display, etc to do the job. A switch for on/off lights, another to turn on/off groups of fans, a pot for dimming other lights. All that was simple enough. However I want to do another thing, I want to read the CPU temperature without the need of software, I want it to be OS independant... and just for consistency and have all the info displayed in the LCD I bought instead of needing to have the ECP panel too hehehe. 

The ECP however doesn't read the temperature, it just displays whatever the mobo says it in the double 7-segment display. Since I'm a total noob at electronics I had to google a little to find out how these displays work, and I did manage to display whatever I wanted in the ECP display using my arduino board. However I'm not sure how should I "read" the incoming signals from the motherboard! The display on the mobo and the other seem to run in parallel or something, because when I tried to "read" the signals the characters started changing and doing weird things like turning all on, or displaying a 6 without the middle bar for example haha.

I understood that these 7-segment displays don't actually turn on all the necessary segments at once, but they're alternated one by one so fast that they give the illusion they're constantly on.

All in all, I just wonder if someone more knowledgeable would point me in the right direction as how to read this info from the mobo :P! 

Thanks a latte!
#1

6 Replies Related Threads

    RetiredProfessor
    Superclocked Member
    • Total Posts : 165
    • Reward points : 0
    • Joined: 2010/09/25 05:07:08
    • Location: USA
    • Status: offline
    • Ribbons : 5
    Re:Intercepting signals from mobo to the ECP! 2011/01/22 06:44:37 (permalink)
    geort45
      ... I just wonder if someone more knowledgeable would point me in the right direction as how to read this info from the mobo

     
    While its been a long time since I played with this sort of device, the basic concept might be the same but the address system (or whatever it is called today) might have changed. Anyway, let me describe how I would approach and conceptualize your problem. The output of the temperature sensors, voltages, frequencies, etc on any motherboard is read by specific chips. On the SR-2 motherboard, I'm guessing that the two chips that are accessible when the SR-2 powers up into the BIOS are the Fintek F71808 which is dedicated to CPU1 and the Fintek F71882F which is dedicated to CPU0.

    The two Fintek chips send their outputs to a "reserved memory" area. But I don't know whether the reserved area uses a fixed or a relative address system. I suspect  that EVGA engineers could provide you with a "memory map" detailing the reserved memory space for all I/O devices on the motherboard. Alternatively, a clever person might use "debugging" software and systematically search through the memory by looking for information printed in ASCII that says "Vendor" followed by "Fintek", then the chip number, model number, and a list of other information. To illustrate, I made a screen print of the binary output taken from the HWMONITOR software. While this was read from Windows, I believe that somewhere in the memory space is either an identical, if not similar, list of information sent by the Fintek chips. The information is listed in some convention beginning first with device identification information then followed either by the device outputs, information about how the outputs are listed, and/or the memory address of where the actual output is located. Towards the bottom of my screen print, look at the line labeled VOLTAGE 1. Next to 1.21 volts is a hexadecimal number 0x67. This is probably not the memory address itself but rather an "offset". To find memory address, you need to look for the "base address" and then go a few more address over as specified by the "offset". You should find a representation of the voltage value at that address (I think).

     
    Be aware that the temperature values might not be provided in Centigrade or Fahrenheit. INTEL, for example, specifies temperature as negative offsets relative to a maximum value (not to exceed). I have no idea as to how FINTEK sensor values are represented. Sometimes, you might have to create an algorithm that translates the output into temperature values.
     
    Once you found the memory address with the sensor information you want, then you have to write a program to read the content from this address. I suspect that the Arduino board provides a software language or simple script commands. You will first need to look for any commands like "PEEK" (read from memory) or "POKE" (write to memory).  And then look for a command like "DISPLAY". If the Arduino board does not have its own language, you might write a script in DOS (or whatever it is called today) and then find the address in the Arduino board where you can output the value to the display port.
     
    Remember, my experience with such devices comes from a long time ago so while parts of what I say might true, other parts might be obsolete. I write this, however, with the intention that the information might provide you get started. Others might chime in and provide better information. Good luck and have fun.
    post edited by RetiredProfessor - 2011/01/22 06:48:27

    Switchable single-dual CPU rig
    Mobo: EVGA SR-2 w/ BIOS A46 or A49 & Windows 7 (64-bit edition). CPU: Xeon 5620 @2.40-2.66 GHz (single mode) & @3.3-3.5 GHz (dual mode), air cooled by Intel BXSTS100C heat sink. Memory: 12x1 GB Kingston Triple Channel 1.5-V DDR3 @ 1066 MHz with 7-7-7-20 timing. Video card: MSI GTX 460. PSU: 950-Watt ABS Majesty 80 Plus Certified Gold. Disks: OCZ Vertex2 & WD Black 1 TB. Case: Home-made from wood & aluminum mesh with mobo mounted on MountainMod tray. Comment: Every watt saved reduces the electricity bill & need for additional cooling solutions
    #2
    RetiredProfessor
    Superclocked Member
    • Total Posts : 165
    • Reward points : 0
    • Joined: 2010/09/25 05:07:08
    • Location: USA
    • Status: offline
    • Ribbons : 5
    Re:Intercepting signals from mobo to the ECP! 2011/01/22 06:55:27 (permalink)
    When I re-read you post, I realized that you are asking more about using the double 7-segment display than the reading of sensor information from the mother board. If so, I apologize and please disregard what I wrote previously.

    Switchable single-dual CPU rig
    Mobo: EVGA SR-2 w/ BIOS A46 or A49 & Windows 7 (64-bit edition). CPU: Xeon 5620 @2.40-2.66 GHz (single mode) & @3.3-3.5 GHz (dual mode), air cooled by Intel BXSTS100C heat sink. Memory: 12x1 GB Kingston Triple Channel 1.5-V DDR3 @ 1066 MHz with 7-7-7-20 timing. Video card: MSI GTX 460. PSU: 950-Watt ABS Majesty 80 Plus Certified Gold. Disks: OCZ Vertex2 & WD Black 1 TB. Case: Home-made from wood & aluminum mesh with mobo mounted on MountainMod tray. Comment: Every watt saved reduces the electricity bill & need for additional cooling solutions
    #3
    geort45
    ACX Member
    • Total Posts : 491
    • Reward points : 0
    • Joined: 2010/04/06 16:06:22
    • Status: offline
    • Ribbons : 0
    Re:Intercepting signals from mobo to the ECP! 2011/01/22 14:04:36 (permalink)
    Hi!
     
    Yep, your's far more advanced and "inside" haha, I just want to read the output since it'd be easier :)
     
    But thanks a lot!
    #4
    housefly88
    Superclocked Member
    • Total Posts : 180
    • Reward points : 0
    • Joined: 2011/11/22 09:49:49
    • Location: Florida
    • Status: offline
    • Ribbons : 0
    Re:Intercepting signals from mobo to the ECP! 2012/02/29 07:35:34 (permalink)
    -Sorry for digging up an old thread,
     
    Did you ever get the LCD to display correctly?
     
     I built a very simular device, as my graphics card covered the 7 segment display, I orignally purchased an ecp, just to see how it worked, and once in hand relised it was nothing more than a PCB, with headers on the back (for the ribbon cable to the 80 port) and on the front 3 momentary/tactile buttons, for Power/reset/cosm, 3 latching for vcore/cpu, and a row of jumpers to disable pcie and cpu0/cpu1
     
    The ECP is all traces on a PCB, so if you follow the ribbon cable headers back to the jp80, you can see what headers do what.
    (I am work right now, so this is from memory)
     
    Anyway, Iam not sure if you ever figured out a soultion. I had pretty good luck with a 14 x 2 LCD, using a Lady ADA LCD Backpack (Only uses 3 analog pinouts), and multiplexor on the Arduino.
     
    In the code, I often use a simple trick, of writing blanks after each loop, to "erase" any funky characters. This worked real well when displaying the temp.
     
    Hope some of this make sense.
     
    Mark D 
     

    Affiliate Code: FEHMLCDW0I
    Current projects - 
    RIVEBE 4960X
    Z87Ftw G3258
    X58 Micro X5650

      
    http://www.heatware.com/eval.php?id=80906
    #5
    geort45
    ACX Member
    • Total Posts : 491
    • Reward points : 0
    • Joined: 2010/04/06 16:06:22
    • Status: offline
    • Ribbons : 0
    Re:Intercepting signals from mobo to the ECP! 2012/02/29 12:59:46 (permalink)
    Hi! I can't believe so much time has passed haha. Anyway... I couldn't do it. I remember that I identified the pins that are te JP80P output, and finding out how those displays work... I think there's a common ground and then there's a V+ for each segment, only one can be turned on at a time but it's done very fast so they appear to be lit together. I have one of those sensor shields for the arduino, ended up connecting like 8 cables to the mobo to sense the segments but I couldn't do it :(... controlling the ECP segments I could do though...
    #6
    housefly88
    Superclocked Member
    • Total Posts : 180
    • Reward points : 0
    • Joined: 2011/11/22 09:49:49
    • Location: Florida
    • Status: offline
    • Ribbons : 0
    Re:Intercepting signals from mobo to the ECP! 2012/03/02 09:51:18 (permalink)
    I know its old, just cool, someone else uses Arduino
     
    I was actually play around with it last night.
     
    Thats cool you could control the segmented LED
     
    The 7 segment display, is a CC (Cold Cathoide) and you are correct, it is a shared ground, with voltage being sent to the remaining pins to get the display to light. you can actualy turn on more than one pin at a time as they all share  the same ground.
     
     I think I might just keep it simple, and mount the segmented LED to the case where I can read it. (mostly for the post codes)
    Ill prob keep on messing with the LCD and code, till I get it right. If I manage, Ill send you a copy.
     
     
     
     
     

    Affiliate Code: FEHMLCDW0I
    Current projects - 
    RIVEBE 4960X
    Z87Ftw G3258
    X58 Micro X5650

      
    http://www.heatware.com/eval.php?id=80906
    #7
    Jump to:
  • Back to Mobile