We have some code that runs on a Mod5234 that requires a custom IO board. However, we occasionally find it convenient to load our code onto one of the Dev 100 or 70 boards. Most of the IO won't work since our custom hardware is missing, but loading the Dev100 boards immediately shows that the basic code (FTP, HTTP, stdio, etc ) runs from a probably-good image.
The problem lies with J2[14] aka eTPU[8]: On the ModDev-100 and ModDev-70 boards this pin is tied to ground, although we use it as an output on our custom boards. Is there any way to detect whether the Mod5234 is connected to one of the Dev-100 or -70 boards? If so, we could avoid driving that output pin in these rare cases. I seem to remember something like this happens for the LED drivers but can't put my fingers on the code for the detection scheme...
Thanks.
Detecting presence of MOD Dev-100 or -70 boards, or not
-
- Posts: 513
- Joined: Sat Apr 26, 2008 7:14 am
Re: Detecting presence of MOD Dev-100 or -70 boards, or not
Any MOD-DEV-100 version 1.09 or higher has J2[14] as a floating pin, 1.08 and previous has this tied to ground. Any MOD-DEV-70 version 1.2 or higher has J2[14] as a floating pin.
I believe all 1.12 versions of the MOD-DEV-100 CPLD's allow you to read a version and revision number. I believe the latest is 1.4. These functions can be found in ioboard.cpp. We can also supply the .jed programming file and verilog source for the CPLD if your board has an older version.
The MOD-DEV-70 is harder to detect since there is no CPLD to read from. You can look at the OnModDev70 function we use to detect between the dev-100 and dev-70, this is also found in ioboard.cpp. This function may be able to be modified to work with your custom board too.
I believe all 1.12 versions of the MOD-DEV-100 CPLD's allow you to read a version and revision number. I believe the latest is 1.4. These functions can be found in ioboard.cpp. We can also supply the .jed programming file and verilog source for the CPLD if your board has an older version.
The MOD-DEV-70 is harder to detect since there is no CPLD to read from. You can look at the OnModDev70 function we use to detect between the dev-100 and dev-70, this is also found in ioboard.cpp. This function may be able to be modified to work with your custom board too.
Ridgeglider wrote:We have some code that runs on a Mod5234 that requires a custom IO board. However, we occasionally find it convenient to load our code onto one of the Dev 100 or 70 boards. Most of the IO won't work since our custom hardware is missing, but loading the Dev100 boards immediately shows that the basic code (FTP, HTTP, stdio, etc ) runs from a probably-good image.
The problem lies with J2[14] aka eTPU[8]: On the ModDev-100 and ModDev-70 boards this pin is tied to ground, although we use it as an output on our custom boards. Is there any way to detect whether the Mod5234 is connected to one of the Dev-100 or -70 boards? If so, we could avoid driving that output pin in these rare cases. I seem to remember something like this happens for the LED drivers but can't put my fingers on the code for the detection scheme...
Thanks.
Re: Detecting presence of MOD Dev-100 or -70 boards, or not
where can we find the verilog source code for MOD-DEV-100 CPLD?
Robert Lee
National Synchrotron Radiation Research Center, Taiwan
National Synchrotron Radiation Research Center, Taiwan
Re: Detecting presence of MOD Dev-100 or -70 boards, or not
Sending via PM