Author |
Topic |
|
mgotobed
2 Posts |
Posted - 30 Sep 2008 : 11:32:18
|
I'm using a SphereII dev kit and I'm trying to use the Digital I/O. I'm referencing the following I/O map from the ADS Windows CE Digital I/O Driver Spec Ver 1.2 (ADS document # 110025-10056):
Bit Signal Name Location --- ----------- -------- 0x00 PORTA-Bit1 J4.19 0x01 PORTA-Bit6 J4.20 0x02 PORTB-Bit10 J4.22 0x03 PORTB-Bit11 J4.23 0x04 PORTB-Bit12 J4.24 0x05 PORTB-Bit13 J4.25 0x06 PORTB-Bit14 J4.26 0x07 PORTE-Bit0 Red LED 0x08 PORTE-Bit1 Green LED 0x09 PORTC-Bit0 J11.1 0x0A PORTC-Bit1 J11.2 0x0B PORTC-Bit2 J11.3 0x0C PORTC-Bit3 J11.4 0x0D PORTC-Bit4 J11.5 0x0E PORTC-Bit5 J11.6 0x0F PORTC-Bit6 J11.7 0x10 PORTC-Bit7 J11.8 0x11 PORTD-Bit0 J11.9 0x12 PORTD-Bit1 J11.10 0x13 PORTD-Bit2 J11.11 0x14 PORTD-Bit3 J11.12 0x15 PORTD-Bit4 J11.13 0x16 PORTD-Bit5 J11.14 0x17 PORTD-Bit6 J11.15 0x18 PORTD-Bit7 J11.16 0x19 Reserved - 0x1A Reserved - 0x1B Reserved - 0x1C Reserved - 0x1D Reserved - 0x1E Reserved - 0x1F Reserved -
1) Is this map still currect for the SphereII? This may explain some of the other problems I'm having.
2) Is there a registry key to disable the keypad scanning? I've tried setting/clearing "EnableAltGPIO" but I always see the row scanning after powerup until I set the port directions.
3) Why does the Green LED output reset the board? In the SphereII user's manual it says the green LED can be used by the application (3.2.3). After powerup the dir defaults to an output and when I set the LED (PortE Bit1), the board will reset. After I try to set the direction, this bit is always set to an input and can not be changed.
4) Why does setting multiple outputs at the same time cause a reset or lockup? Using the DIO drivers to set the mask, direction, and values I've seen the following results.
Mask set to 0xFE0001FF Val is set to 0x00000000 (after direction is set) With dir = 0x01FFFE00, the board locks up With dir = 0x01FFF000, the board locks up With dir = 0x01FF0000, the board resets With dir = 0x01F00000, clears outputs correctly With dir = 0x000F0000, clears outputs correctly
I can also set each of the 16 I/O correctly if I set the Dir bit as an output one at a time.
5) How do I control GPIO_G2 and GPIO_G3 on J12.33 and J12.34 (4.5.1 of SphereII users manual)?
Help with any of these questions would be greatly appreciated!
Thanks,
Mark |
|
mgotobed
2 Posts |
Posted - 02 Oct 2008 : 11:41:32
|
I've updated from Build 5.00.19 to the latest version 5.00.24. Either I was doing something wrong before or newer builds have addressed the reset/lockup issues I saw before. With the new build I can configure and control all 16 DIO as inputs and outputs with no resets (When "EnableAltGPIO" is set to 0). The green LED is still only an input, but I can no longer set it to cause a reset like I did with 5.00.19. So I only have 2 questions left.
1) How do I control GPIO_G2 and GPIO_G3 on J12.33 and J12.34 (4.5.1 of SphereII users manual)?
2) Is there a software controllable LED on the SphereII?
Thanks,
Mark
|
|
|
cbadr
154 Posts |
Posted - 13 Oct 2008 : 15:53:40
|
#GPIO_details
The questions above were addressed offline with the customer. For reference, I'll include here some information that may be relevant to other Sphere users:
For the listing of GPIO bit to signal map on Sphere, please refer to topic 1788.
Keypad scanning is enabled with the following registry key: [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\DIO1 "EnableAltGPIO "=dword:0 ; 1 enables scanning, 0 disables scanning
|
Setting EnableAltGPIO to 1 will mask some high order DIO bits and therefore they will not be available for use as GPIOs anymore.
The board reset issue was fixed in build 5.00.22.
The green LED is supposed to be application controllable by DIO_8. We are working on fixing the problem and will include it in the release notes when it becomes available.
J12.33 and J12.34 cannot be used as GPIO's. See topic 2300. |
|
|
|
Topic |
|
|
|