오후 9:38 2008-02-18
조경민 bro@shinbiro.com
UART, RS-232C
===============================================================


UART는 Universal Asynchronous Receiver,Transmitter로 한번에 한비트 정보를
보내는 시리얼 통신 기기이다.
UART는 내부에 FIFO를 갖고 있어 보낼 데이터를 줄줄이 보내주거나 받게 된다.
UART IP는 arm이나 avr 각각 자신의 IP들 규격이 있다.
arm의 경우 PL011 PrimeCell이며 자신의 Pad signal이 정의되어 있다.


이 Pad signal들 중에 중요 신호들이 표준 RS-232 케이블로 직접 매핑된다.
(즉, UART IP가 Link layer의 PHY까지 처리한다)


따라서 UART에 대해서 알려면 다음을 알아야 한다.
1. UART IP Verilog H/W RTL code (TestChip SoC 내에 존재)
2. RS-232 cable spec (칩에서 Pad로 나온 주요 시그널을 RS-232케이블로 연결)
3. UART 호스트나 클라이언트 상에서 동작하는 UART IP를 구동시키는 코드(보통 firmware또는 device driver)



1. UART IP Verilog H/W RTL code
---------------------------------------------------------
http://www.cmosexod.com/micro_uart.htm
http://www.asic-world.com/examples/verilog/uart.html
http://www.opencores.org/cvsweb.shtml/miniuart/miniUART.vhd



http://idec.kaist.ac.kr/
System-on-a-chip design and verification HW/SW 동시협조시뮬레이션


2. RS-232 cable spec
------------------------------------------------------------------------
http://www.camiresearch.com/Data_Com_Basics/RS232_standard.html#anchor242192


serial port basics
http://www.acumeninstruments.com/Support/documentation/SerialPortBasics/index.shtml



3. UART 호스트나 클라이언트 상에서 동작하는 UART IP를 구동시키는 코드
-----------------------------------------------------------------------
u-boot pl011 uart firmware(device driver) code
http://www.google.com/codesearch?hl=en&q=+PL011+show:894elc5kAVQ:GVlC9qsmgsI:8dxGjVU7CjI&sa=N&cd=3&ct=rc&cs_p=http://www.angstrom-distribution.org/unstable/sources/u-boot-1.1.2.tar.bz2&cs_f=u-boot-1.1.2/drivers/serial_pl011.c#first


기타
-----------------------------------------------------------------------
skyeye (arm emulator 상의 UART 하드웨어 C로 구현, RS232 무시)
http://www.google.com/codesearch?hl=en&q=show:EuuTUAOD-OI:5g39mT3iJ2U:4d3Bv5b4_9k&sa=N&ct=rd&cs_p=http://ftp5.ru.freebsd.org/pub/FreeBSD/distfiles/skyeye-0.9.5.tar.bz2&cs_f=skyeye/sim/arm/skyeye_mach_s3c2440.c&start=1



qemu pl011 uart (arm emulator 상의 UART 하드웨어 C로 구현, RS232 무시)
http://www.google.com/codesearch?hl=en&q=+PL011+show:MOGgZfxsFi4:wqpDH8_Z3lw:9fsxw0IDTqo&sa=N&cd=1&ct=rc&cs_p=http://fabrice.bellard.free.fr/qemu/qemu-0.9.0.tar.gz&cs_f=qemu-0.9.0/hw/pl011.c#first


openrice (UART를 하드웨어로 구현)
http://www.google.com/codesearch?hl=ko&q=+uart16550.c+show:JZmo5b5p3ek:87c30tDWbxo:8ANIB3Ba-8M&sa=N&cd=15&ct=rc&cs_p=http://www.sugawara-systems.com/opencores/openrisc/orp_soc.ZIP&cs_f=orp_soc/rtl/verilog/xsv_fpga_top.v#first


 



http://idec.kaist.ac.kr/

'KB > hardware soc' 카테고리의 다른 글

RTOS on hardware  (0) 2008.02.25
AHB에서 BIST SRAM Memory에 의한 HRDATA xxxx 리턴  (0) 2008.02.18
fromelf???? vhxó??  (0) 2008.02.16
Verilog, PLI, VPI  (0) 2008.01.24
Verilog관련 HDL언어 역사  (0) 2008.01.22

+ Recent posts