1
Project logs / Altera MAX3000A CPLD breakout Free PCB Build
[attachment=0]
I was working on this PCB when the XT-IDE adapter v2 PCB was delivered so this one was on hold until today
viewtopic.php?f=19&t=2657&start=300
Open Source Hardware
This section allows you to view all Topics made by this member. Note that you can only see Topics made in areas you currently have access to.
Connections[attachment=1]
BP LCD
SDA SDL
SCL SCL
+5V VDD
GND GND
also connect 3.3V back to VPU on the Bus Pirate
HiZ>m << Enter mode selectionIn the second datasheet we found the default I2C address but we use the search option of the Bus Pirate to make sure.
1. HiZ
2. 1-WIRE
3. I2C
4. SPI
5. 2WIRE
6. 3WIRE
7. LCD
8. DIO
x. exit(without change)
(1)>3 << Select I2C
I2C mode:
1. Software
2. Hardware
(1)>2 << Select Hardware
Set speed:
1. 100KHz
2. 400KHz
3. 1MHz
(1)>1 << Select 100KHz
Ready
I2C>W << Enable PSU
Power supplies ON
I2C>P << Enable pull-ups
Pull-up resistors ON
I2C>
I2C>(1) << Finding the Controller0x70 is the instruction address and 0x72 is the data address.
Searching I2C address space. Found devices at:
0x70(0x38 W) 0x72(0x39 W)
I2C>
I2C>This display is addressed as and LCD with 4 lines.
I2C>[0x70 << Addressing the controller for instructions
I2C START BIT
WRITE: 0x70 ACK
I2C>0x1C << Power control
WRITE: 0x1C ACK
I2C>0x4F << Contrast control
WRITE: 0x4F ACK
I2C>0x0F << Cursor control
WRITE: 0x0F ACK
I2C>0x14 << Display on/off control
WRITE: 0x14 ACK
I2C>] << We are done initializing the controller.
I2C STOP BIT
I2C>
<Line 1>@@@@{Line 2}@@@@[Line 3]@@@@(Line 4)@@@@ will result in the following and get us back home:<Line 1>{Line 2}
[Line 3](Line 4)Now we can send something useful to the controller to finally see something on the screen.I2C>[0x70 0x02] << first we go back home[attachment=0]
I2C START BIT
WRITE: 0x70 ACK
WRITE: 0x02 ACK
I2C STOP BIT
I2C>[0x72 0x3c 0x4c 0x69 0x6e 0x65 0x20 0x31 0x3e] << sending "<Line 1>"
I2C START BIT
WRITE: 0x72 ACK
WRITE: 0x3C ACK
WRITE: 0x4C ACK
WRITE: 0x69 ACK
WRITE: 0x6E ACK
WRITE: 0x65 ACK
WRITE: 0x20 ACK
WRITE: 0x31 ACK
WRITE: 0x3E ACK
I2C STOP BIT
I2C>[0x72 0x40 0x40 0x40 0x40] << skipping past the 4 hidden characters
I2C START BIT
WRITE: 0x72 ACK
WRITE: 0x40 ACK
WRITE: 0x40 ACK
WRITE: 0x40 ACK
WRITE: 0x40 ACK
I2C STOP BIT
I2C>
[0x70 0x1c 0x4f 0x0f 0x14] ;initialize
[0x70 0x02] ;return home
[0x72 0x3c 0x4c 0x69 0x6e 0x65 0x20 0x31 0x3e] ;<Line 1>
[0x72 0x40 0x40 0x40 0x40] ;@@@@
[0x72 0x7b 0x4c 0x69 0x6e 0x65 0x20 0x32 0x7d] ;{Line 2}
[0x72 0x40 0x40 0x40 0x40] ;@@@@
[0x72 0x5b 0x4c 0x69 0x6e 0x65 0x20 0x33 0x5d] ;[Line 3]
[0x72 0x40 0x40 0x40 0x40] ;@@@@
[0x72 0x28 0x4c 0x69 0x6e 0x65 0x20 0x34 0x29] ;(Line 4)
[0x72 0x40 0x40 0x40 0x40] ;@@@@
[0x70 0x02] ;return home
[0x72 0x42 0x75 0x73 0x50 0x69 0x72 0x61 0x74 0x40 0x40 0x40 0x40 0x65 0x76 0x34 0x20 0x44 0x61 0x6e 0x67 0x40 0x40 0x40 0x40 0x65 0x72 0x6f 0x75 0x73 0x20 0x50 0x72 0x40 0x40 0x40 0x40 0x6f 0x74 0x6f 0x74 0x79 0x70 0x65 0x73 0x40 0x40 0x40 0x40] ;BusPirat@@@@ev4 Dang@@@@erous Pr@@@@ototypes@@@@