'이론 관련/컴퓨터 관련'에 해당되는 글 86건

  1. 2018.06.01 vga porch 4
  2. 2018.05.30 VGA(RGB) 파형 측정
  3. 2018.05.30 VGA Pattern Generator 관련 검색
  4. 2018.05.29 hdmi pinout
  5. 2018.05.29 VGA 관련 자료 검색중
  6. 2018.04.24 I2c smbus slave interrupt
  7. 2018.03.19 haze / defog
  8. 2017.12.26 USB class - DFU(Device Firmware Upgrade)
  9. 2017.12.20 불 대수(bool algebra)
  10. 2017.09.01 a-gps

vga 관련 문서를 찾다 보니 구현했는데 안되요~ 라는 말이 있어서 스펙을 좀더 찾아 보는중.

아래는 front porch - sync - back porch - data 순서인데

중간에 문장을 보면.. data 에서만 HSync가 High로 나오고 나머지는 Low로 해주면 될 듯


ParameterValueUnit
Pixel clock frequency25.175MHz[10]
Horizontal frequency31.469kHz
Horizontal pixels640
Horizontal sync polarityNegative
Total time for each line31.778µs
Front porch (A)0.636µs
Sync pulse length (B)3.813µs
Back porch (C)1.907µs
Active video (D)25.422µs

(Total horizontal sync and blanking time = 6.356 µs; equivalent to pixel widths of A = 16, B = 96, C = 48, D = 640 and each complete line = 800)

[링크 : https://en.wikipedia.org/wiki/Video_Graphics_Array]


기존의 아날로그 영상의 경우에는 sync - back porch - data - front porch 순서로 되어있다.

편의상 front - sync - back - data 순서로 하다보니 처음에 sync가 아닌 front가 와서 인식 못하는건 아닐까?

[링크 : https://en.wikipedia.org/wiki/Analog_television#Structure_of_a_video_signal]


+

[링크 : http://www.mcamafia.de/pdf/ibm_vgaxga_trm2.pdf] VGA 표준?


VSync는 가장 첫줄 할때만

[링크 : http://www.ccm.ece.vt.edu:8444/twiki/pub/Main/LectureNotes/23-VGA.pdf]

[링크 : http://www.eng.utah.edu/~cs3710/labs/VGA.pdf]


타이밍 정보

Sync만 보고, porch는 Data에 붙여 버렸네?

[링크 : http://www.epanorama.net/documents/pc/vga_timing.html]


"VGA industry standard" 640x480 pixel mode

Clock frequency 25.175 MHz

Line  frequency 31469 Hz

Field frequency 59.94 Hz


One line

  8 pixels front porch

96 pixels horizontal sync

 40 pixels back porch

  8 pixels left border

640 pixels video

  8 pixels right border

---

800 pixels total per line


One field

  2 lines front porch

  2 lines vertical sync

 25 lines back porch

  8 lines top border

480 lines video

  8 lines bottom border

---

525 lines total per field               


[링크 : https://courses.cs.washington.edu/courses/cse467/00wi/lectures/ppt/VGAinterface.ppt]



+


[링크 : https://timetoexplore.net/blog/arty-fpga-vga-verilog-01]

[링크 : https://github.com/pmezydlo/DE0-Nano-SOC-VGA]


50MHz = 0.02us

[링크 : https://www.unitjuggler.com/convert-frequency-from-MHz-to-%C2%B5s(p).html?val=50]

'이론 관련 > 컴퓨터 관련' 카테고리의 다른 글

VGA DMT 스펙  (0) 2018.06.11
vga 타이밍  (0) 2018.06.08
VGA(RGB) 파형 측정  (0) 2018.05.30
VGA Pattern Generator 관련 검색  (0) 2018.05.30
hdmi pinout  (0) 2018.05.29
Posted by 구차니

1920*1080*60Hz 파형

일단.. 알아낸건

RGB 쪽은 1.2V 정도이고

H/V는 5V 정도?


R

영상의 시작과 끝이 잡히긴 하는데..

H/V 동기와 같이 볼 수 있는게 아니라(손으로 찍다 보니.. 두 채널 짜리긴 해도 못 함 ㅠㅠ) 아쉬움..

0.7ms 정도의 0V는 HBI(Horizontal Blanking Interval) 같은데

그 앞에 약한놈은 멀까... 배경이 푸루딩딩해서 빨간 성분이 하나도 없는 부분인가?


13번 핀. H가 맞는거 같은데 왜 이렇게 낮게 나오지? 잘못 찍었나?


V

67,490Hz / 60 = 1,124

오차범위 고려하면 1080 + 45 VBI?



+

2018.05.31

이게 Vsync 이고, 위에  67.49 나온게 Hsync 일듯?




'이론 관련 > 컴퓨터 관련' 카테고리의 다른 글

vga 타이밍  (0) 2018.06.08
vga porch  (4) 2018.06.01
VGA Pattern Generator 관련 검색  (0) 2018.05.30
hdmi pinout  (0) 2018.05.29
VGA 관련 자료 검색중  (0) 2018.05.29
Posted by 구차니

'이론 관련 > 컴퓨터 관련' 카테고리의 다른 글

vga porch  (4) 2018.06.01
VGA(RGB) 파형 측정  (0) 2018.05.30
hdmi pinout  (0) 2018.05.29
VGA 관련 자료 검색중  (0) 2018.05.29
I2c smbus slave interrupt  (0) 2018.04.24
Posted by 구차니

HDMI 핀 배열 및 신호 관련 정보 검색


[링크 : http://pinouts.ru/visual/gen/hdmi.jpg]

[링크 : http://pinouts.ru/Video/hdmi_pinout.shtml]


TMDS는 0/1/2+CLK로 구성되고

CEC와 DDC 그리고 Hotplug 및 5V 전원이 공급된다.

Pins 1 through 9 carry the three TMDS data channels (Transition Minimized Differential Signaling – the technology that allows DVI and HDMI to send high-speed digital data), three pins per channel. TMDS data includes both video and audio information, and each channel has three separate lines for + values, - values, and a ground or data shield.


Pins 10 through 12 carry data for the TMDS clock channel, which helps keep the signals in synchronization. As with the TMDS data channels, there are separate lines for + values, - values, and a data shield.


Pin 13 is carries the CEC (Consumer Electronics Control) channel, used for sending command and control data between connected devices.


Pin 14 is reserved for future use.


Pins 15 and 16 are dedicated to the DDC (Display Data Channel), used for communicating EDID (Extended Display Identification Channel) information between devices.


Pin 17 is a data shield for the CEC and DDC channels.


Pin 18 carries a low-voltage (+5V) power supply.


Pin 19 is the Hot Plug Detect, dedicated to monitoring power up/down and plug/unplug events. 

[링크 : https://www.hdmi.org/installers/insidehdmicable.aspx]


데이터는 8b/10b로 인코딩 됨

Both HDMI and DVI use TMDS to send 10-bit characters that are encoded using 8b/10b encoding

[링크 : https://en.wikipedia.org/wiki/HDMI]


2.8V~3.3V로 표현.. TMDS니까 디퍼런셜 라인의 경우 어떻게 표현되려나?

디지털이니까 0과 1만 뒤집어 주면 되려나?

Basics

 HDMI leverages on the successful transition minimized differential signaling (TMDS) technology. The differential signals are +3.3 Volts, terminated in 50 Ω with nominal amplitude transitions of 500 mV (+2.8 V to +3.3 V). The voltage swing can vary from 150 mV to 800 mV. The signals have rise times of the order of 100 ps 

[링크 : http://download.tek.com/document/61W_17974_6_HR_Letter_0.pdf]


6.2.2 Video Control Signals : HSYNC, VSYNC

During the Data Island period, HDMI carries HSYNC and VSYNC signals using encoded bits on Channel 0. During Video Data periods, HDMI does not carry HSYNC and VSYNC and the Sink should assume that these signals remain constant. During Control periods, HDMI carries HSYNC and VSYNC signals through the use of four different control characters on TMDS Channel 0. 

[링크 : http://d1.amobbs.com/bbs_upload782111/files_51/ourdev_716302E34B9Q.pdf]


BGR 순서로 채널이 배정되는게 맞는 듯?

[링크 : http://www.wireworldcable.co.uk/hdmi_tech.html]


[링크 : https://www.cablestogo.com/learning/library/digital-signage/intro-to-tmds]

'이론 관련 > 컴퓨터 관련' 카테고리의 다른 글

VGA(RGB) 파형 측정  (0) 2018.05.30
VGA Pattern Generator 관련 검색  (0) 2018.05.30
VGA 관련 자료 검색중  (0) 2018.05.29
I2c smbus slave interrupt  (0) 2018.04.24
haze / defog  (0) 2018.03.19
Posted by 구차니

640*480에 대한 VHDL 코드 인듯?

0.1 + 0.2 + 0.4V 합치면 0.7V 니까.. 3비트 씩 해서 8(2^3)  * 8 * 8 = 512 컬러 인가?

A VGA video signal contains 5 active signals:

• horizontal sync: digital signal, used for synchronisation of the video

• vertical sync: digital signal, used for synchronisation of the video

• red (R): analog signal (0-0.7 v), used to control the color

• green (G): analog signal (0-0.7 v), used to control the color

• blue (B): analog signal (0-0.7 v), used to control the color 

흐음.. 이건 어떻게 해석을 해야 하나?


[링크 : http://lslwww.epfl.ch/pages/teaching/cours_lsl/ca_es/VGA.pdf]



요즘 사용하는건 I2C 들어간 DDC2 방식이라고 해야하나?

[링크 : https://en.wikipedia.org/wiki/Display_Data_Channel]

[링크 : http://pinouts.ru/Video/VGA15_pinout.shtml]

'이론 관련 > 컴퓨터 관련' 카테고리의 다른 글

VGA Pattern Generator 관련 검색  (0) 2018.05.30
hdmi pinout  (0) 2018.05.29
I2c smbus slave interrupt  (0) 2018.04.24
haze / defog  (0) 2018.03.19
USB class - DFU(Device Firmware Upgrade)  (0) 2017.12.26
Posted by 구차니

I2C slave에서 마스터로 전송할 데이터가 생길 경우에는

폴링을 기다리거나, 마스터로 연결된 interrupt 핀이 있어야 한다.


Case 1: Slave has an interrupt pin


You need to connect this interrupt pin to master microcontroller. Every time the slave has some data, it should raise an interrupt. At that point, master will read the available data.


Case 2: Slave doesn't have an interrupt pin


Polling is the only option in this case. Master keeps reading all the slaves at regular interval and keeps comparing the received data with old one. If the data has changed, master will take appropriate action. You need to decide the interval according to your application. 

[링크 : https://electronics.stackexchange.com/questions/307630/slave-wants-to-send-data-to-master-in-i2c/307641]



다만 SMBUS에서는

slave가 mater 처럼 작동하여 호스트(0x08)에게 자신의 주소와 2바이트 정보는 던질 수 있도록 되어있다.

아니면 SMBALERT# 시그널을 통해 주의를 요청인데 이게 인터럽트 라인인 듯?

Arbitration in SMBus

Although conceptually a single-master bus, a slave device that supports the "host notify protocol" acts as a master to perform the notification. It seizes the bus and writes a 3-byte message to the reserved "SMBus Host" address (0x08), passing its address and two bytes of data. When two slaves try to notify the host at the same time, one of them will lose arbitration and need to retry.

An alternative slave notification system uses the separate SMBALERT# signal to request attention. In this case, the host performs a 1-byte read from the reserved "SMBus Alert Response Address" (0x0c), which is a kind of broadcast address. All alerting slaves respond with a data bytes containing their own address. When the slave successfully transmits its own address (winning arbitration against others) it stops raising that interrupt. In both this and the preceding case, arbitration ensures that one slave's message will be received, and the others will know they must retry.

SMBus also supports an "address resolution protocol", wherein devices return a 16-byte "universal device ID" (UDID). Multiple devices may respond; the one with the least UDID will win arbitration and be recognized. 

[링크 : http://www.microchip.com/forums/m/tm.aspx?m=795577&p=1]

'이론 관련 > 컴퓨터 관련' 카테고리의 다른 글

hdmi pinout  (0) 2018.05.29
VGA 관련 자료 검색중  (0) 2018.05.29
haze / defog  (0) 2018.03.19
USB class - DFU(Device Firmware Upgrade)  (0) 2017.12.26
불 대수(bool algebra)  (0) 2017.12.20
Posted by 구차니

'이론 관련 > 컴퓨터 관련' 카테고리의 다른 글

VGA 관련 자료 검색중  (0) 2018.05.29
I2c smbus slave interrupt  (0) 2018.04.24
USB class - DFU(Device Firmware Upgrade)  (0) 2017.12.26
불 대수(bool algebra)  (0) 2017.12.20
a-gps  (0) 2017.09.01
Posted by 구차니

아이폰이나 아이패드에서 DFU 어쩌구 하길래 들어본적은 있는데

먼가해서 찾아본 건 아니고..


부트로더 관련해서 보다 보니(tivaware bootloader)

Three update protocols are utilized. On UART, SSI, I2C, and CAN, a custom protocol is used to communicate with the download utility to transfer the firmware image and program it into flash. When using Ethernet or USB DFU, however, different protocols are employed. On Ethernet the standard bootstrap protocol (BOOTP) is used and for USB DFU, updates are performed via the standard Device Firmware Upgrade (DFU) class. 

이런게 보여서 검색해보니..


USB HID class 처럼 

USB DFU class가 존재하는 표준으로 제공되는 클래스 이다.

[링크 : https://cscott.net/usb_dev/data/devclass/usbdfu10.pdf]


USB Device Firmware Upgrade (DFU) is an official USB device class specification of the USB Implementers Forum.

It specifies a vendor and device independent way of updating the firmware of a USB device. The idea is to have only one vendor-independent firmware update tool as part of the operating system, which can then (given a particular firmware image) be downloaded into the device. 

[링크 : http://wiki.openmoko.org/wiki/USB_DFU_-_The_USB_Device_Firmware_Upgrade_standard]


+

[링크 : http://www.usb.org/developers]

'이론 관련 > 컴퓨터 관련' 카테고리의 다른 글

I2c smbus slave interrupt  (0) 2018.04.24
haze / defog  (0) 2018.03.19
불 대수(bool algebra)  (0) 2017.12.20
a-gps  (0) 2017.09.01
GPS DOP  (0) 2017.06.14
Posted by 구차니

대학교 1학년때 였나 2학년 전공가서 였나..

컴퓨터 구조 시간에 불 대수를 배웠는데

카르노 맵과 드모르간 법칙등이 이해가 안갔는데 이제야 차분히 보니 이해가 되네..

그때 공부를 제대로 했으면 FPGA를 다뤘을려나...


아무튼 OR는 논리합(logical disjunction) - 논리적 괴리/이접

AND는 논리곱(logical conjunction) - 논리접 결합/접속

이라는데 솔찍히 A+B 라고 논리합을 OR 표기하다 보니 거기서 혼동이 온듯..


논리표는 지긋지긋 하게들 봤을테고(?)

다시 한번 적자면 아래와 같고, 특이한 것은 바로 같은 입력 일때와 다른 입력일때의 차이이다.

A+B=R (OR)

 AxB=R (AND)

F+F=F

T+F=T

F+T=T

T+T=T

FxF=F

TxF=F

FxT=F

TxT=T


그리고 논리에서 T는 1로 치환되니

A+B=R (OR)

 AxB=R (AND)

F+F=F

1+F=T

F+1=T

T+T=T

FxF=F

1xF=F 는 곧 1xA=A

Fx1=F 는 곧 Ax1=A

TxT=T

(1+A)=1

(1A)=A

로 유도가 된다.


그리고 A+A'=T 이고 1이 되니 

(A+A')B는

(1)B

1xB = B 가 된다.


X+XY = X(1+Y) = X*1= X 로 유도


드모르간 법칙은 (X+Y)'= X'Y' 인데

(X+Y)'=R 

F+F=F가 F' = T

T+F=T가 T' = F

F+T=T가 T' = F

T+T=T가 T' = F

가 되고

AxB=R

FxF=F

TxF=F

FxT=F

TxT=T

와 비슷하게 TxT=T 인걸 뒤집으면 되니

A'xB'=R

F'xF'=TxT=T

T'xF'=FxT=F

F'xT'=TxF=F

T'xT'=FxF=F


유도는 좀 똥같은데

아무튼 (A+B)' = A'B' 라는 결론이 도출된다.

[링크 : http://www.kyobobook.co.kr/product/detailViewKor.laf?barcode=9788935304394]

'이론 관련 > 컴퓨터 관련' 카테고리의 다른 글

haze / defog  (0) 2018.03.19
USB class - DFU(Device Firmware Upgrade)  (0) 2017.12.26
a-gps  (0) 2017.09.01
GPS DOP  (0) 2017.06.14
DDR3 ZQ calibration  (0) 2017.04.27
Posted by 구차니

12.5분 이 지나야 위성으로 독립적으로 모든 GPS 위성의 정보를 받는 듯?

아무튼 이렇게 오래 걸리는 데이터를 다른 통신방법을 통해 획득함으로

초기 위치 수신속도(TTFF)를 올리는게 A-GPS의 원리

[링크 : https://en.wikipedia.org/wiki/Time_to_first_fix]


일부는 GPS에서 하는 연산을 서버에서 대신하여 MS(Mobile Station)에서는 전파 신호만 수신하고

그걸 네트워크로 전송하여 위치를 대신 계산해주는 방식도 있는 듯


S-GPS는 직접 위성에서 이페머리스와 알마낙 등의 궤도 정보를 50bps로 다운로드한다. S-GPS는 대략 30-40초 뒤에 첫 번째 위치를 잡을 수 있다. 모든 데이터를 받기 위해서는 12.5분이 걸린다

[링크 : https://ko.wikipedia.org/wiki/A-GPS]


2010/10/23 - [하드웨어] - GPS / A-GPS / S-GPS / D-GPS



+

2017.12.06


이페이머리스는 위성의 위치를 계산하기 위해 수신받도록 허용된 궤도 정보. 각각의 위성은 자신의 이페이머리스를 전송한다. (즉, 이페이머리스는 위성 개별의 궤도정보)

알마낙 데이터는 모든 위성에 대한 상대정보가 포함; 각각의 위성은 (위치적으로 모든) 사용중인 PRN 번호에 의존한 몇몇 위성의 알마낙 데이터를 전송한다. (알마낙은 모든 위성의 상태정보)


  • The ephemeris: orbital information which allows the receiver to calculate the position of the satellite. Each satellite transmits its own ephemeris.
  • The almanac data: contains information and status concerning all the satellites; each satellite transmits almanac data for several (possibly all) satellites, depending on which PRN numbers are in use. 


[링크 : https://en.wikipedia.org/wiki/GPS_signals#Navigation_message]

'이론 관련 > 컴퓨터 관련' 카테고리의 다른 글

USB class - DFU(Device Firmware Upgrade)  (0) 2017.12.26
불 대수(bool algebra)  (0) 2017.12.20
GPS DOP  (0) 2017.06.14
DDR3 ZQ calibration  (0) 2017.04.27
MMIO 하드웨어와 소프트웨어의 결합  (0) 2017.04.14
Posted by 구차니