From: Dave H. <dhy...@gm...> - 2006-07-12 06:24:16
|
Hi Nicholas, > It's useful to note (for my own understanding) that the /proc/gpio/ > interface can tell you if the GPIO line has been selected for it's > "alternate function" (ie., cpu-specific function) or is acting as a GPIO > line available to the user. For example: > > # cat /proc/gpio/GPIO64 > 64 AF2 out clear > > Which means that GPIO64 is configured as AF2, which is "LDD[6]" or "LCD > Data pin 6". So in this case some driver in the kernel is using pin > GPIO64 and I need to find another. Actually, that isn't true. Unfortunately, there isn't any way to know which GPIOs are being used by looking at how its configured. The LCD pins are all configured as AF2 by uboot. In particular, they're initialized as follows: #define CFG_GAFR0_L_VAL 0x81011000 #define CFG_GAFR0_U_VAL 0xA5254010 #define CFG_GAFR1_L_VAL 0x69908010 #define CFG_GAFR1_U_VAL 0xAAA5A8AA #define CFG_GAFR2_L_VAL 0xAAAAAAAA #define CFG_GAFR2_U_VAL 0x00000000 If you were using an LCD then you need to be concerned, otherwise they're free. > > What type of sensor are you planning on using? > > This one: > http://infusionsystems.com/catalog/product_info.php/cPath/24/products_id/38 I can't help but point out a raw sensor which is quite a bit cheaper: <http://www.hvwtech.com/products_list.asp?CatID=114&SubCatID=186&SubSubCatID=0> > As shown on that page, it has 3 pins: power, ground and signal, and can > run at between 4 and 12 volts. > > Any clues on how to do the voltage regulation would be awesome. Basically, you'll need a regulated supply for the sensor. This typically takes the form of a voltage regulator and some capacitors connected to a wall wart. You might be able to get away with using the 5v or 4v from the gumstix wall wart, which is already regulated. Since the output will be higher than the 3.3v used by the gumstix, you'll need to convert it into a 3.3v signal. The simplest way to do this is to use a resistor divider network. For a 5v output, you can take a 10k and 20k resistor and connect them like this: 5v sensor output-----/\/\/\/\-----GPIO-----/\/\/\/\/\------Gnd ith the 10K connected between the 5v sensor output and the GPIO, and a 20k resistor connected between tge GPIO and ground. This will cause the GPIO line to toggle between (5 * 20/ (10 + 20) = 3.33v and 0v. -- Dave Hylands Vancouver, BC, Canada http://www.DaveHylands.com/ |