Kurobox Pro Microcomputer Communication Specifications

From NAS-Central Buffalo - The Linkstation Wiki
Revision as of 18:54, 29 August 2007 by Ramuk (Talk | contribs)

Jump to: navigation, search

Contents

Contents


Functions

Overview of Functions

Communicates with the main CPU via UART. The main functions are shown below.

  • Power SW monitoring
  • Initialization SW monitoring
  • Power control
  • Temperature measurement
  • Buzzer control
  • Watchdog function (However, watchdog function is disabled on u-boot)
  • LAN ACT monitoring
  • LED display
  • Reset sequence generation
  • LED Illumination

UART Communication with Main CPU

Transmission System

UART Basic Settings

  • Transmission speed: 38400bps
  • Data bit: 8bit
  • Parity: Even
  • Stop bit: 1 bit or more

Communication with Main CPU

  • Basic communication is performed by the transmission of commands, data, and parity.
  • When switches etc are pressed, a level interrupt occurs. The interrupt is cleared when reporting to the CPU is completed.
  • If many frame errors occur, regulate the guard time on the main CPU.

Protocol

Preamble

The receive buffer is completely cleared by sending FF 35 times.

Main CPU -> Microcomputer

Data Payload 0 Bytes

1 Transfer

direction (BIT7)

Data payload (0)
2 Command
3 Parity 0-(byte1+byte2)

Data Payload n bytes

1 Transfer

direction (BIT7)

Data payload ()
2 Command
3 Data 0



n-1 Data n
n Parity 0 - Σ(byte 1 to byte n-1)

Microcomputer -> Main CPU

Responses to commands other than the read command (when data does not exist)

1 0

(BIT7)

Data payload (1)
2 Sent command
3 ACK
4 Parity 0-(byte1+byte2+byte3)

Response to read command

1 0

(BIT7)

Data payload (N)
2 Sent command
3 Data 1
n-1 Data N
n Parity 0 - Σ(byte 1 to byte n-1)

Response when communication error occurs

1 0

(BIT7)

Data payload (1)
2 Sent command
3 NACK
4 Parity 0-(byte1+byte2+byte3)

ACK/NACK List

HEX mnemonic
0x00 ACK Good
0xF1 OVER_RUN UART physical layer error Physical layer buffer over
0xF2 FRAMING_ERR UART physical layer error Physical layer frame error
0xF3 PARITYERROR UART physical layer error Physical layer parity error
0xF4 Invalid_COM Command does not exist
0xF5 Com_len_err Command and data payload values do not correspond
0xF6 RX_BUFF_OVER Payload larger than 32 bytes specified.
0xF7 DATA_PARITY_ERROR Data parity is wrong.

Write Command

LED Lighting control etc Command Micro- computer CPU DATA0 DATA1 DATAn(MAX31) PARITY Switch to data transfer phase Switch to command phase Command (OPCODE) ACK Command Command 2nd byte PARITY

Read Command

Temperature read by CPU DATA0 DATA1 DATAn(MAX31) PARITY Command (OPCODE) PARITY Command CPU Micro- computer Switch to data transfer phase Switch to command phase

Interrupt + Read Command

SW Micro- computer DATA0 DATA1 DATAn(MAX31) PARITY Interrupt assert Interrupt negate Switch to data transfer phase Switch to command phase Command (OPCODE) PARITY Command CPU

Command

Command Construction

The command is a 2 byte command.

Write (CPU -> Microcomputer)

bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
0 0 Length
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
OPCODE

Read (Microcomputer -> CPU)

bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
1 0
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
OPCODE


Command List

Commands with no data payload

Command Command name Microcomputer operation
1Byte 2Byte
FF --- NOP Used in preamble
0x00 0x02 BOOT_START Boot starts, CPU sends this command at the start. If

this command is not received within 10 seconds after reset, power does not go on. This is displayed during boot.

0x00 0x03 BOOT_END The boot display is completed, and the device

operates normally. If this command is not received within 5 minutes, power goes off.

0x00 0x06 POFF Power switches off.
0x00 0x0C SHUT_DOWN_WAIT SHUT DOWN preparations
0x00 0x0D SHUT_DOWN_WAIT_N Cancel SHUT DOWN preparations
0x00 0x0E REBOOT REBOOT (system reset) start


Data Payload 1 Byte Command

Command Command name Microcomputer operation
1Byte 2Byte
0x01 0x30 BZ_ON Buzzer sounds.Buzzer control, with fine selection of

whether to sound for 1 byte of data

--------
0x01 0x33 FANSPEED_CTL FAN speed can be selected.0 Stopped 3 Maximum

Settings above 3 (only enabled for lower 2 bits)

0x80
0x01 0x35 SYSTEM_WDT Performs clear and settings for system

watchdog.

0x80
0x37 TEMP Obtains the temperature.Receivable data is in Centigrade
0x80
0x38 FANSPEED Obtains fan speed informationDouble the number of FAN revolutions in 3

seconds is displayed. rpm= (obtained data) ×10.

0x80
0x01 0x3a LED_BRIGHT Adjusts the brightness of the current LED
0x80
0x01 0x3b HDD_POWER Controls the HDD power supply
0x80
0x3c MAIN_STATUS Obtains the STATUS of the microcomputer
0x80

Data Payload 2 Byte Command

Command Command name Microcomputer operation
1Byte 2Byte
0x02 0x50 LED_CPU_MCON Switches LED between main CPU controland microcomputer control.
0x80
0x02 0x51 LED_ON_OFF Controls whether the LED is on or off
0x80
0x02 0x52 LED_BLINK Selects the LED for LED flashing display
0x80
0x02 0x53 BZ_FREQ Buzzer frequency settings
0x80
0x02 0x54 LED_PATTERN Controls LED flashing
0x80

Buzzer ON/OFF

Command

0×01 First operand read 0×80
0×30 Second operand

Data

0×00 Stop the sound
0×01 [Pi-po]
0×02 [Pi]
0×03 Continuous sound [Piiiii-]
0×04 Sounds every 0.3 seconds
0×10 Repeats sounding for 0.5 seconds then stopping for 0.3 seconds.
0×20 [Pi-po-pa-po]

Buzzer pitch

Command

0×02 First operand setting
0×80 First operand reading of settings.
0×53 Second operand

Data 0

Frequency settings lower order

Data 1

Frequency settings upper order

Relationship between sound pitch and frequency

A A# B C C# D D# E F F# G G#
55 58 62 65 69 73 78 82 87 92 98 104
110 117 123 131 139 147 156 165 175 185 196 208
220 233 247 262 277 294 311 330 349 370 392 415
440 466 494 523 554 587 622 659 698 740 784 831
880 932 988 1047 1109 1175 1245 1319 1397 1480 1568 1661
1760 1865 1976 2093 2217 2349 2489 2637 2794 2960 3136 3322

Relationship between values set on microcomputer and sound pitch

A A# B C C# D D# E F F# G G#
FC04 F062 E273 D60A C852 BE8C B399 A9D6 9F70 963D
8E0B 858C 7F08 7746 7068 6A4A 6429 5EB2 5949 5475 4FB8 4B1E
4705 430F 3F42 3BA3 3868 3525 323D 2F59 2CC5 2A3A 27DC 25A6
2382 2187 1FA1 1DE0 1C34 1A9E 191E 17B5 1662 151D 13EE 12CD
11C1 10C3 0FD0 0EEC 0E16 0D4C 0C8C 0BD8 0B2F 0A8E 09F7 0968
08E0 0860 07E8 0777 070C 06A6 0647 05EC 0597 0547 04FB 04B4
3F4
1FA
FD

System Watchdog

Command

0×01 First operand read 0×80 when setting
0×35 Second operand

Data

Set the time until the power goes OFF for forced OFF. You can set up to 255 seconds.

However, setting to 0 will cause the system watchdog to stop and not operate.

If read is performed, the time for the watchdog to operate is displayed.

0×FF – (time to shutdown) = Setting value

Temperature Read

Command

0×80 First Operand (read only)
0×37 Second operand

Data

The temperature on the board can be read.

The read data is signed char.

The data is from -55°C to 125°C.

SW Read

Command

0x80 First Operand (read only)
0×36 Second operand

Data

bit7-bit4 bit4 bit3 bit2 bit1 bit0
0 1 F_ INIT_SW 1 1 Power SW

If SW or INITSW is pressed, an interrupt occurs. You can research the cause of an

interrupt by reading the SW.

Reading this resistor clears the interrupt.

  • If the SW is released at the point when read is started, the value returns to 1. Therefore,

measure the pressed time on the CPU to judge.

bit4: Always 1
bit3: 0 when INIT_SW is pressed
bit2: Always 1
bit1: Always 1
bit0: Power_SW 0 when Power_SW is pressed

LED Display

Command

0x01 First operand read 0x80 when setting Second operand Switching LED control rights: 0×50 Switching LED on/off: 0×51 Flash LED: 0×52

Data

DATA0 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 0 0 0 0 LINK DIAG INFO Power DATA1 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 0 0 0 0 0 0 0 0

Data Meaning

Control Rights Switching • 0: LED control performed by microcomputer • 1: LED control performed by CPU Switching on/off • 0: Switch LED off • 1: Light LED Flash Switching • 0: Do not flash LED • 1: Flash LED

LED brightness

Command

0×00 First operand 0×80 read 0X3a Second operand

Data

Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 0 LED Illumination

Data Meaning

LED Illumination Setting possible in the 0-0xf range 0×0= Off 0×f = Maximum illumination

HDD Power control

Command

0×00 First operand 0×80 (read) 0X3b Second operand

Data

Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 0 0 0 HDD

ACK/NACK List

HEX mnemonic 0x00 ACK Good 0xF1 OVER_RUN UART physical layer error Physical layer buffer over 0xF2 FRAMING_ERR UART physical layer error Physical layer frame error 0xF3 PARITYERROR UART physical layer error Physical layer parity error 0xF4 Invalid_COM Command does not exist 0xF5 Com_len_err Command and data payload values do not correspond 0xF6 RX_BUFF_OVER Payload larger than 32 bytes specified. 0xF7 DATA_PARITY_ERROR Data parity is wrong.


References