AXE133 at 64MHz

ac246

New Member
Hi,
I am trying to run my picaxe 40x2 at 64mhz using a 16mhz external resonator with the EM16 command.
I am using the 20x4 OLED display via the AXE133 board.
Everything runs perfect at the default speeds but i can not get it to communicate at 64Mhz. N2400_64 doesnt exist but N9600_64 does.
Is there a way of reprogramming the chip in the AXE133 to recieve at N9600_64?
I tried it before but with no luck.

Thanks for all your help.

Aaron
 

tony_g

Senior Member
you could probably go down the route of having the 40x2 slow down for the period/task that it has to serout to the oled then set its speed back to 64mhz once its done that and busy doing whatever else your code needs it to do back at full speed.


tony
 

ac246

New Member
Hi Tony,
I have tried this already but there it is such a long program with a lot of information being updated to the screen but it is the screen that is the slowest part of my system. I have several sensors which all are read and updated to the screen in turn, but this gives me a small delay between the first and last sensor being updated to the screen. I know there are other ways to do it but i really would prefer to have the whole program running at 64mhz and only have to slow it down to default if its really nessisary.
Thanks for your reply
Aaron
 

srnet

Senior Member
Is there a way of reprogramming the chip in the AXE133 to recieve at N9600_64?
No, as the 18M2 in the AXE133 wont run at 64Mhz.

You can run the 18M2 at 32Mhz, and the display will then work at 4800 baud, but no more.

9600 baud sending from a 32Mhz or 64Mhz PICAXE to an AXE133 is too fast, there is not enough space (time) in between characters to allow it to work properly.
 

inglewoodpete

Senior Member
I have used the hSerial feature of the 20X2 to drive an OLED display in 4-bit mode. With a couple of minor configuration changes, you could use it to drive an LCD. The 20X2 can receive serial data at 76800 baud and possibly even 115200baud. I documented my project here.
 

nick12ab

Senior Member
If maximum speed is important (which it must be if you're running the 40X2 at 64Mhz) then you should be using the parallel interface. If you run out of pins then expansion with little compromise in speed can be achieved by use of a shift register attached to the hardware SPI pins or an analogue multiplexer for ADC channels.
 

Goeytex

Senior Member
In a nutshell the AXE033 firmware is too slow for high speed operation. To continue using the AXE033 and have the spare I/O pins, your best choice for speed is to use the parallel interface as suggested by Nick. 4- bit mode will cost you 6 I/O pins, (4 data lines and 2 control lines).

If you can't spare the pins then the easiest alternative is to use a different display that supports I2C or high speed TTL serial, ...or get a different serial backpack that supports higher data rates. Cheap ($2- $4) backpacks are ubiquitously available online, but I cannot vouch for the quality or reliability since I have not used one of these, but I think they are shift register based "I2C".

If you don't mind hacking about and have time to spare, you can make your own driver using a 20X2 like IWP or try the shift register method suggested by Westaust.

I made a serial back pack from a cheap 8-pin PIC that operates at 57600 using TTL serial, but you need to have access to a PIC programmer to make it. If you are interested in that I posted the how-to info in user projects.

Good Luck
 
Last edited:
Top