Table of Contents
General information
The 6551 ACIA is an RS232 serial controller. It is used in the RF57-232 expansion for Thomson computers, allowing use as a standard RS232 serial port, or an RS-232-like serial link at TTL levels, to communicate with a Minitel.
Programming
The ACIA has only 4 registers, making it relatively easy to work with.
A7E8/E7E8: Data register
This register is used to read received data bytes, and write outgoing ones.
A7E9/E7E9: Status register
this register is read-only.
Bit | Description | Cleared by | Hardware reset value | Software reset value |
---|---|---|---|---|
0 | Parity error | Self-clearing | 0 | - |
1 | Framing error | Self-clearing | 0 | - |
2 | Overrun | Self-clearing | 0 | 0 |
3 | Receive data register full | Reading data register | 0 | - |
4 | Transmit data register empty | Writing data register | 1 | - |
5 | /DCD | Reflects /DCD pin state | - | - |
6 | /DSR | Reflects /DSR pin state | - | - |
7 | IRQ | Reading status register | 0 | - |
The “self-clearing” status bits are cleared after reading the data register, and successfully receiving one byte.
A7EA/E7EA: Command register
Bits 7-5: parity check configuration
|
Bits 4-2: transmitter control
|
Bit 1: receive interrupt enable
Bit 0: Data Terminal Ready
Controls the /DTR pin and enables the receiver.
A7EB/E7EB: Control register
Bit 7: stop bit
When set to 0, always use 1 stop bit. When set to 1:
- If word length is 8 bit and parity enabled: 1 stop bit (9-bit words mode)
- If word length is 5 bit and parity disabled: 1.5 stop bits
- In all other cases: 2 stop bits
Bits 6-5: word length
- 0: 8 bits
- 1: 7 bits
- 2: 6 bits
- 3: 5 bits
Bit 4: receiver clock source
- 0: use external clock on pin 17
- 1: use baud rate generator
Bits 3-0: baud rate divider
- 0: Divider disabled - 115200bps
- 1: 50 baud
- 2: 75 baud
- 3: 109.92 baud
- 4: 134.58 baud
- 5: 150 baud
- 6: 300 baud
- 7: 600 baud
- 8: 1200 baud
- 9: 1800 baud
- A: 2400 baud
- B: 3600 baud
- C: 4800 baud
- D: 7200 baud
- E: 9600 baud
- F: 19200 baud