[NTLK] MP2x00 Internal Interconnect Breakout
jake at allaboutjake.com
Sun Jan 4 20:37:12 EST 2015
>My board worked as a prototype, but after I had PCBs made, I could not
>get the PCBs to work. Unfortunately, I ripped the breadboard setup apart,
>and I never managed to get it to work again. Now I have 20 PCBs laying
>around that don;t do what I need ;-)
Yeah, my bluetooth boards were pretty much the same, but PCB's were more
expensive then so I didn't get many made. I even made an RTS/CTS error on
one and had to cut some traces and just ditch the flow control.
>If you do manage to get the WiFi working, I would love to have another
>run at my USB setup.
I'm working on it slow and steady. I have to write a little extension
that will add "mdem" to the GetGlobals().ModemLocations array next. I've
read that when you use this serial identifier, it toggles the GPIO pin
appropriately for internal use of Serial 3.
My concern with Serial 3 is that it supposedly can't do 119200... But I've
seen the USB-001 drivers do mention higher baud rates, so I'm not sure. I
have to test the baud rate myself.
>My problem was, that I did not get the OS to switch from the external
>port to the internal port. The breadbord setup was able to do that, But
>the PCB not. PLease let me know if you have good information on that.
Ekhart's code was my main guide of this:
He has code to toggle the DIO pin for Serial 3. What's interesting to me
is that the ROM actually has two functions already:
Ekhart's code, as best I can tell, does pretty much the exact same thing
as the SerialPort3LineDriverConfig function. These functions take 2
parameters. I'm a bit rusty on my assembly and ABI, but from what I see
paramter 1 is a boolean and parameter 2 is a magic number of some sort.
0x20 passed on the 2nd parameter does different things than any other
value. I haven't tried calling these functions directly yet.
SerialPort0 uses a GPIO while SerialPort3 uses a DIO for toggling the
enable pin. I'm hoping that I can call these "LineDriverConfig"
functions to do what I need rather than the DIO/GPIO functions directly,
as Ekhart does.
For serial3, my impression is the SerPortSelect pin doesn't do much. I
think you can drive port 3 regardless of what this pin says, from either
the internal or external location. You're just not being a good citizen,
and a well designed peripheral will honor the state of this pin. Port0, I
think its a little more important because of the LTC line driver IC. I
think the SerPortSelect pin in this case shuts down the driver for the
external port, preventing a conflict with the device on the internal port.
I'll keep you posted. I got side tracked with an eMate that I bought...
But I'll get back playing with the wifi project soon.
More information about the NewtonTalk