ARM cortex-M 시리즈에 TCM에 관한 내용이 나온다
캐시는 hit과 miss 시에 데이터 접근 시간이 다르기 때문에 동작 시간을 정확하게 예측해야하는 몇몇 임베디두 시스템에서는 캐시의 사용이 문제가 된다.
그래서 캐시 대신 TCM을 사용한다.

TCM은 fast sram으로 구성되어있다고 한다.
캐시와는 다르게 별도의 주소공간을 가지고 매핑되어있다. 빠른 접근이 필요한 데이터를 별도주소공간의 sram에다가 써서 사용하겠다는 것과 같은 의미인 것 같다. 결과적으로 보면 external주소에 외부 sram을 다는 것과 별 차이가 없어보인다. Fast sram이라고는 하지만 보통 1~2백MHz대의 클락에서 sram은 원래 한사이클만에 데이터를 받아올 수 있지 않나?
주로 인터럽트 처리 관련 데이터를 저장하는데 사용할 수 있다고 한다. 컴파일러랑 프로세서 자체가 알아서 잘 처리하므로 유저가 직접 건들필요는 없지 싶었은데 공식문서 설명하는걸 보면 사용자가 필요한 경우에 직접 작성해주어야 하는 부분인가?
dram을 붙이기도 하는 m7시리즈면 이해가 되기도 하지만 보통 메모리가 필요하면 외부에 sram을 달면 될텐데 외부 sram은 접근하는데 사이클이 더 필요한가봄

결론.
캐시 사용으로 인한 처리시간 불확정성 제거
캐시를 사용하지 않지만 주요 데이터를 내부 sram에 저장하므로 외부 메모리 접근으로 인한 성능 저하 감소

따져보면 캐시랑 비슷한 점이 별로 없다
외부메모리로 쓰지도 않고. 그냥 좀 느린 레지스터라고 해야.
cp. 스택오버플로 질답
ARM공식문서

다음의 EEVblog 영상을 정리한 내용 

 

여기서는 TFT LCD가 아닌 다양한 어플리케이션에서 사용되는 단색 LCD 설명
해당 유튜버가 최근 멀티미터를 제작, 성공적으로 펀딩해 판매를 했는데 거기에 사용된 주문제작 LCD 만드는 법도 후속 영상으로 올라와 있다.

LCD의 원리 (편광 관련은 생략)
액체크리스탈을 사용하기 때문에 온도가 낮아지면 응답속도가 현저하게 느려진다(영하에서 수백 ms).
LCD는 전류제어가 아니라 전압으로 내부 크리스탈의 정렬방향을 조절하는 것이기 때문에 이론적으로는 전류를 전혀 소모하지 않는다.
단, 실제 LCD에는 정전용량이 존재하기 때문에 이러한 LCD를 제어하기 위해서는 주파수 형태의 신호(혹은 전원)로 제어해주어야 한다.
교류 형태가 되므로 이로인한 전류소모가 미량이지만 발생한다.

LCD 제어
common핀과 신호핀 간의 전압차를 주어 제어한다. 이때 주요한 포인트는 전위 변동 폭, 평균 전위, 변동 주파수이다.

전위 변동 폭: LCD마다 다르지만 Vp-p가 3~5V인 경우가 일반인 듯하다. 전압이 높아질수록 콘트라스트가 커지지만 잔상이 생길 수 있으므로 너무 높이지 않도록 주의한다. 

평균 전위: 전압이 변동 될 때 평균 전위는 0V여야한다.
common 핀 == GND, 신호핀 == Vcc 펄스를 주게 되면 평균 전압이 0보다 크게 되므로 (50% 듀티비일 때 Vcc/2) LCD의 수명이 급격히 줄어든다.
(자세한 설명은 영상 참조)
따라서 common 핀이 GND라고 한다면 신호핀은 +5V ~ -5V를 왔다갔다 하는 신호를 주어야 정상적(수명)으로 제어할 수 있다.
문제는 디지털 로직만 사용하는 경우 -전압을 만들기 어렵다는 점에 있다.
개인적인 생각으로는 common핀에 Vcc/2를 주고 신호핀에 Vcc~GND 펄스를 주면 될 것 같았는데 더 좋은 방법이 있었다.
common핀에 신호핀과 역위상으로 신호를 주면 된다. 이렇게 되면 common핀과 신호핀간의 전위차는 Vcc*2가 된다. 동시에 평균전위는 0V가 된다.
마이크로프로세서로 제어하는 경우 XOR 게이트를 사용하거나 프로그램으로 동일한 연산을 하면 쉽게 제어할 수 있다. (XOR 한쪽은 제어핀, 한쪽은 펄스. 제어핀이 1이면 common과 역위상, 제어핀이 0이면 common핀과 동위상) 

변동 주파수: 기본적으로 100Hz의 신호를 주거나 주지 않거나로 제어한다.
느린 주파수로 제어하게 되면 투명하게 돌아가는 속도가 느려진다(투명 -> 검정색으로 변하는 LCD 기준).
즉, 정상적인 반응속도를 위해서는 100Hz 정도의 주파수로 제어를 해주어야한다.
주파수가 높아질수록 소비하는 전류량이 높아지니 그 중간 지점이 100Hz 정도인듯 하다.

LCD 종류
연결타입: 유리에서 바로 핀이나오는 타입, 전도성 고무를 사용한 타입(이 경우 PCB패드의 전도성과 압력을 고려해야함), 필름케이블(FFC)을 사용하는 타입

드라이버 칩
LCD에 드라이버 칩이 붙어있는 경우 -> 어디에 붙어있는가에 따라 구분 <LCD를 연결하는 필름케이블 위에(COF, TAB), LCD 유리 위에(COG)>
LCD 제작공장에 원하는 타입을 말해주면 어떤 것이든 보통 가능하나 필름, 유리 순으로 가격이 비싸짐 그러나 대량생산의 경우 별도의 드라이버칩을 따로 사용하는 것보다는 LCD에 붙여나오는게 더 저렴하다.
붙어있지 않은 경우 -> 별도의 드라이버칩을 PCB위에 구성하여 사용, 드라이버 없이 직접 제어

Mux 유무
표시하는 셀이 많지 않은 경우 표시내용 하나 당 하나의 핀만 나와있다. 
표시내용이 많아지면 내부적으로 common핀 여러개를 사용한 mux구조를 가지게 된다.
이러한 디스플레이는 common핀마다 바이어스를 다르게 조절해야하는 까다로움이 존재한다. 그렇기 때문에 이런 경우 가능하면 정해진 드라이버칩을 사용하는게 좋다.

뒷면 반사 종류에 따른 구분(reflective / transflective / transmissive)
reflective: 투과 안되므로 백라이트 사용 불가. 빛 아래에서의 가시성 가장 좋음
transflective: 백라이트 사용가능 + 빛 아래에서도 준수한 가시성
transmissive: 백라이트가 없으면 볼 수 없음 (백라이트 반드시 필요)



'TIL > 전자' 카테고리의 다른 글

switching voltage inverter 사용시 주의사항  (0) 2018.08.18
hysteresis가 뭐야  (0) 2018.06.07
제너다이오드  (0) 2018.05.15
kicad 에서 케이스 제작용 도면 넘겨줘야 할 때  (0) 2018.03.31
FET 선정하기  (0) 2018.03.07

+ Recent posts