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

  1. 2018.05.29 VGA 관련 자료 검색중
  2. 2018.04.24 I2c smbus slave interrupt
  3. 2018.03.19 haze / defog
  4. 2017.12.26 USB class - DFU(Device Firmware Upgrade)
  5. 2017.12.20 불 대수(bool algebra)
  6. 2017.09.01 a-gps
  7. 2017.06.14 GPS DOP
  8. 2017.04.27 DDR3 ZQ calibration
  9. 2017.04.14 MMIO 하드웨어와 소프트웨어의 결합
  10. 2017.03.06 CMT SMT?

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 구차니

GPS에 DOP라는 용어가 나오길래 무슨 용도의 용어인가 찾아보니...


DOP ValueRatingDescription
< 1IdealHighest possible confidence level to be used for applications demanding the highest possible precision at all times.
1-2ExcellentAt this confidence level, positional measurements are considered accurate enough to meet all but the most sensitive applications.
2-5GoodRepresents a level that marks the minimum appropriate for making business decisions. Positional measurements could be used to make reliable in-route navigation suggestions to the user.
5-10ModeratePositional measurements could be used for calculations, but the fix quality could still be improved. A more open view of the sky is recommended.
10-20FairRepresents a low confidence level. Positional measurements should be discarded or used only to indicate a very rough estimate of the current location.
>20PoorAt this level, measurements are inaccurate by as much as 300 meters with a 6-meter accurate device (50 DOP × 6 meters) and should be discarded.

[링크 : https://en.wikipedia.org/wiki/Dilution_of_precision_(navigation)]


정밀도의 희석? 읭?!?!

[링크 : http://endic.naver.com/enkrEntry.nhn?sLn=kr&entryId=d66d0304edab416ca0858c1e19ca4494]

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

불 대수(bool algebra)  (0) 2017.12.20
a-gps  (0) 2017.09.01
DDR3 ZQ calibration  (0) 2017.04.27
MMIO 하드웨어와 소프트웨어의 결합  (0) 2017.04.14
CMT SMT?  (0) 2017.03.06
Posted by 구차니

on-die termination (ODT)

DQ (Data Strobe)


DDR3가 되면서 클럭이 올라가고

그러면서 임피던스 매칭이 더 중요하다는데..

ZQ는 도대체 머야 -ㅁ-???!


[링크 : http://www.easytv.co.kr/114] ZQ caliration

[링크 : http://www.easytv.co.kr/115] Dynamic ODT

[링크 : http://www.easytv.co.kr/120] RESET, 8bit prefetch


[링크 : http://www.nxp.com/files-static/training_pdf/VFTF09_AN111.pdf]

[링크 : https://www.micron.com/~/media/documents/products/technical-note/dram/tn4102.pdf]


[링크 : https://www.micron.com/~/media/documents/products/technical-note/dram/tn4605.pdf]

[링크 : http://cs.ecs.baylor.edu/~maurer/CSI5338/JEDEC79R2.pdf]



odroid c2의 DDR3 쪽 보는데 ZQ는 보이는데 설명이 많이 부실하네...

[링크 : https://dn.odroid.com/S905/DataSheet/S905_Public_Datasheet_V1.1.4.pdf]

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

a-gps  (0) 2017.09.01
GPS DOP  (0) 2017.06.14
MMIO 하드웨어와 소프트웨어의 결합  (0) 2017.04.14
CMT SMT?  (0) 2017.03.06
db shading  (0) 2016.05.08
Posted by 구차니

나 같은 프로그래머야 손쉽게

특정 메모리 번지에 값을 쓰면 하드웨어가 제어되는데

이게 하드웨어적으로 어떻게 처리되는지가 궁금해서 찾다가 든 생각


어짜피 CPU 내부 레지스터는 플립플롭이고 값이 변화하지 않는 이상 + 전기가 공급되는 이상

회로에 입력으로 쓰일수 있는 값이 지속적으로 나오고 있으니

레지스터는 하드웨어 플립플롭이고

cpu의 메모리 디코더를 통해 해당 플립플롭으로 값을 쓸수 있도록

메모리 번지와 하드웨어 어드레스 매칭을 통해 cpu에서 저장할 공간을 해당 플립플롭을 연결해주면

하드웨어 - 소프트웨어 연결이 끝! 일려나?


다만 DRAM의 경우 읽으면 다시 리프레시 하거나 해줘야 하니

이런식으로 쓰긴 힘들거 같고.. 그래픽 카드 값은 넓은 범위의 메모리를 쓰는 녀석들은

DMA 등을 통해 자기 자신의 메모리가 건드려지게 되면 내부적으로 트리거 되서 작동하도록 되어 있으려나?



결론은.. 현 구조의 CPU 에서는 레지스터는 필수불가결한 존재?


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

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

GPS DOP  (0) 2017.06.14
DDR3 ZQ calibration  (0) 2017.04.27
CMT SMT?  (0) 2017.03.06
db shading  (0) 2016.05.08
h.264 헤더  (0) 2016.02.02
Posted by 구차니

AMD에서 CMT를 밀었다 말아 먹고 SMT 구조로 온건가..

Cluster based Multi threading - CMT

[링크 : https://scalibq.wordpress.com/2012/02/14/the-myth-of-cmt-cluster-based-multithreading/]


Simultaneous multithreading - SMT/HT(Hyper Threading) 하드웨어 레벨의 멀티쓰레딩(슈퍼스칼라 cpu가 필수조건)


Chip-level multiprocessing - CMP 혹은.. SMP 일려나(Symmetric Multi Processing?)

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

[링크 : https://ko.wikipedia.org/wiki/동시_멀티스레딩]



---

가장 위의 링크를 요약하면..

AMD는 CMT 구조로 가기 위해서 트랜지스터 조낸 때려박았으나 CMT를 비활성화 하면

비활성화된 코어 갯수 만큼 ALU도 같이 비활성화 되지만


Intel의 SMT 구조는 SMT를 비활성화 하면 한쪽 코어에 ALU를 몰빵해주어서 더 성능이 오르는 구조

머.. 이런 의미인듯.



SMT는 불도저 에서 부터 마켓팅 용어로 꺼낸걸려나?

[링크 : https://en.wikipedia.org/wiki/Bulldozer_(microarchitecture)]

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

DDR3 ZQ calibration  (0) 2017.04.27
MMIO 하드웨어와 소프트웨어의 결합  (0) 2017.04.14
db shading  (0) 2016.05.08
h.264 헤더  (0) 2016.02.02
RAID6  (2) 2016.01.28
Posted by 구차니