CAN 통신의 메시지는 Transmit Message ID 와 Receive Message ID 두 가지로 구분할 수 있습니다.


Transmit Message ID란?


CAN 메시지 ID는 메시지를 보내거나 받는 것을 구분하기 위해서 사용할 뿐만 아니라 메시지의 우선순위를 나타내기도 합니다.. 여러 개의 노드에서 동시에 메시지를 전송할 경우 메시지가 깨지지 않고 ID가 높은 것이 전송될 수 있도록 합니다. 예를 들어 ID가 15인 메시지보다 ID가 10인 메시지가 더 높은 우선순위를 가집니다. 따라서 다른 메시지보다 더 높은 우선순위로 메시지를 보내기 위해서는 낮은 ID로 메시지를 구성해야만 합니다. 또한 메시지 ID는 하나의 CAN 버스에서 단 하나만 존재합니다. 다시 말하면 하나의 CAN 버스에 연결된 노드는 다른 노드와 같은 ID를 가지고 메시지를 전송할 수 없습니다. Transmit Message는 데이터의 종류와 그 데이터의 우선순위에 따라 구성됩니다.


Receive Message ID란?


CAN Message를 수신하는데 사용합니다. CAN 버스에 수 메시지를 모두 MCU에서 소프트웨어적으로 확인할 수 없기 때문에 CAN을 담당하는 Peripheral에 특정 ID만 메시지를 수신할 수 있도록 구성할 수 있습니다. ID는 총 두 가지로 구성할 수 있습니다. 첫 번째는 Standard Identifier이고 두 번째는 Extended identifier입니다. Standard  Identifier(는 11비트로 ID가 구성되며, Extended Identifier는 29비트로 ID가 구성됩니다. Standard Identifier는 CAN 2.0A(최대 통신 속도 256kbit/sec), Extended Identifier(1Mbit/sec)는 CAN 2.0B에서 규정하고 있습니다. 


메시지를 받기 위한 필터를 구성하는 방법으로 아래와 같은 방법으로 나누어 집니다.

- ID의 범위를 지정하는 방법(예: 200부터 210번까지의 메시지 ID를 받음)

- 한 개 또는 두 개 ID만 받는 방법(특정 ID만 받는 방법)

- 기존의 Classic bit mask filter를 사용하는 방법


Posted by KennyShin
,

CAN 통신은 메시지(Message) 기반의 프로토콜로 디자인되었습니다. 오토모티브(자동차) 애플리케이션에서 주로 사용되며, 우주 항공분야, 선박, 열차, 산업 자동화, 그리고 의료 장비까지 널리 사용됩니다.


CAN 2.0은 최종 버전은 CAN 2.0A와 CAN 2.0B 두 가지로 나타낼 수 있습니다.


CAN 2.0A

- Standard format with an 11-bit identifier

- 최대 통신속도: 256kbit/sec


CAN 2.0B

- Extended format with a 29-bit identifier

- 최대 통신속도: 1Mbit/sec


CAN은 멀티 마스터(multi-master) 직렬 버스 구조로 ECUs(Electronic Control Units)라고 부르는 노드에 연결을 할 때 사용합니다. 이러한 ECU들을 노드라고 부릅니다. 모든 노드는 CAN에서 사용하는 두 개의 선으로 구성된 버스에 서로 연결됩니다. 이때 주로 MCU가 CAN 노드가 되며, 외부에 CAN Tranceiver가 반드시 필요합니다. 버스의 양 끝에는 반드시 120ohm 종단 저항이 연결되어 있어야 합니다.


사진출처: http://ww1.microchip.com/downloads/en/AppNotes/Atmel-42464-SAMC21-CAN-BUS-Firmware_ApplicationNote_AT6493.pdf


CAN 통신에 사용되는 여러 반도체 제조사에서 공급되고 있으며 Atmel(현재의 Microchip)의 ATA6560이나 ATA6561과 같은 CAN 트렌시버를 사용할 수 있습니다.


Posted by KennyShin
,

자동차 OEM에서 CAN 2.0에서 CAN FD를 점차적으로 적용해 나아가고 있는데요. 왜 그런지에 대해 알아 보기 위해 기존 Classic CAN의 단점들에 대해 알아보고 최근 관심이 많아지고 있는 CAN FD 가 기존 Classic CAN의 어떠한 문제점을 해결할 수 있는지 보도록 하겠습니다.


Classic CAN 을 사용하는 컨트롤러(Microcontroller 등) 위한 Device 들의 Flash 크기가 수많은 요구기능의 증가에 따라 커지면서 Classic CAN으로는 모든 메시지를 처리하고 펌웨어를 업데이트하는데 한계에 도달하고 있는 실정입니다. 그 이유는 Classic CAN은 한 메시지당 최대 8 바이트만 전송 가능하고 또 전송속도도 낮습니다. 또한 CAN FD에 비하여 낮은 수준의 Error detection 기능을 제공하고 있습니다.


CAN FD (CAN with Flexible Data-Rate)는 이러한 Classic CAN의 단점을 보완하여 500kb/s에서 최대 2Mb/s에 이르는 데이터 통신 속도를 제공하며, 특히 진단 모드나 프로그래밍 모드에서는 5Mb/s까지 사용할 수 있습니다. 또한 기존 8 바이트의 메시지만 전달 가능했던 Classic CAN에 비하여 CAN FD는 최대 64 바이트까지 사용할 수 있다는 장점을 가지고 있습니다. 이러한 장점들은 CAN 노드 간 메시지 전송을 더욱 효율적으로 할 수 있게 하고 펌웨어 업데이트시에도 기존의 Classic CAN에 비하여 기다리는 시간을 줄여줍니다.

'CAN' 카테고리의 다른 글

CAN Overview (FAQ)  (0) 2019.01.16
CAN 통신 - SILENT MODE  (0) 2019.01.06
Classic CAN과 CAN FD의 최대 전송 데이터 수 비교  (0) 2019.01.06
CAN 통신(캔 통신) Bit Stuffing 이란?  (1) 2019.01.06
Posted by KennyShin
,

2년정도 사용한 #일렉트로룩스 청소기의 손잡이 부분에 있는 버튼이 동작하지 않습니다. 단순하게 고장으로 생각하고 한동안 사용하지 않았는데요. 문뜩 손잡이 부분에 "OPEN"이라는 글자가 보였습니다.



그래서 아래 사진처럼 "OPEN"이라고 쓰여 있는 부분을 일자드라이버를 이용하여 분리해 봅니다.



그러면 아래처럼 분리가 됩니다. 분리해보니 자동차 리모컨 처럼 생겼네요.



뒤집어 보면 아래 처럼 건전지가 들어가는 부분이 보입니다.



청소기 손잡이부분의 버튼에 건전지 수명이 다 되어 동작하지 않은 것을 알 수 있었는데요.


CR1632 건전지를 사다가 갈아주면 정상동작합니다. 




다이소나 마트에 가셔서 "CR1632 코인건전지 주세요" 라고하면 1,000원정도에 교환하실 수 있습니다.


이상 일렉트로룩스 청소기 건전지 교환하는 방법을 소개해 드렸습니다.


도움이 되셨으면 아래 "공감"을 눌러주세요!!

Posted by KennyShin
,

#Cremaker에서 #3D 프린터를 구입한지 1주일 만에 히팅베드가 정상 동작을 하지 않았습니다. 그래서 크리메이커에 연락을 하였습니다. 크리메이커 A/S 담당하시는 분께서 증상을 듣고 바로 히팅베드를 제어하는 MOSFET에 문제가 있는 것으로 추정하였습니다. 제어보드를 크리메이커로 보내주면 친절하게도 A/S 해 주신다고 하였습니다. 보드를 크리메이커로 보내고 제가 다시 보내면 며칠이 지날 것 같아 MOSFET만 저에게 보내주면 제가 교환하겠다고 하니 택배로 저에게 MOSFET을 3개나 보내 주셨습니다. 아마도 노즐에 사용되는 MOSFET도 함께 교환하라고 보내주신 것 같습니다. 여분은 잘 보관했다가 사용하도록 하겠습니다.^^



"히팅베드 고장 증상"



히팅배드의 고장 증상을 정리해보겠습니다. 처음 3D프린터를 구입해서 #서울송파교육장에서 테스트할 때는 잘 되다가 집에 가져와서 TEST로 프린팅을 할 때부터 증상이 나타났습니다. 교육장에서 프린트할 때는 5분 정도만 테스트로 프린팅을 해 본 것이라 고장 증상을 발견 못했을 수도 있고 집으로 가져오는 도중에 MOSFET에 정전기 같은 것이 인가되었을 수도 있겠네요. 집에 와서 프린트 시작 후 7~8분 정도까지는 프린터가 잘 동작하다가 히팅베드 설정온도 58도를 넘어서 59 --> 60 --> ... --> 70도 정도까지 올라가다가 온도가 40도까지 떨어지면 LCD에 Thermal Runaway 메시지를 나타내며 에러가 발생했습니다. 프린터기를 좀 식히고 나서 다시 동작시키면 2번 정도에 1번 정도는 프린팅을 성공하는 경우도 있었지만 나머지 1번은 Thermal Runaway가 발생하더군요. 원인을 못 찼고 있다가 크리메이커에 연락하니 MOSFET에 문제가 있는 것 같다는 답변을 받았습니다. MOSFET이 배송되는 중간에도 무리해서 3D프린터 출력을 계속 시도했었는데 나중에는 히팅베드가 전혀 동작을 하지 않았습니다. 아마도 보드와 SMPS 사이에 연결된 커넥터가 타버려서 히팅베드에 전류가 흐르지 않았던 것 같습니다.



MOSFET은 ST 사의 STP55NF06이고 60V에 최대 55A를 흘릴 수 있는 제품입니다. 발열과 관련 있는 Rds(on) 값은 0.018ohm으로 낮은 저항값은 아닌 것 같습니다. 10A만 흘려도 P=I^2*R이므로 P = (10)^2*0.018 = 1.8W를 정도의 열이 발생하겠네요. 전류가 높으면 열이 더욱 많이 발생하겠죠. 그래서 저는 기존에 달려있는 히트싱크를 떼어내고 제가 가지고 있던 큰 히트싱크로 MOFSET을 교환하면서 함께 변경했습니다. (히트싱크 사진은 다시 찍어서 올려보겠습니다.) Rds(on) 이 작은 MOSFET을 사용하면 발열이 적겠지만 MOSFET 가격이 더 비싸지겠죠.



MOSFET 파트명: STB55NF06L


MOSFET 데이터시트: https://www.st.com/resource/en/datasheet/stp55nf06l.pdf








인두기를 이용해 MOSFET을 교환을 완료하고 전원을 켰습니다.


그런데 히팅베드가 여전히 동작하지 않네요. 그래서 커넥터를 살펴보니 아래처럼 커넥터가 타있었습니다. 아마도 히팅베드가 완전히 동작하지 않던 원인은  녹색 커넥터 맨 오른쪽 부분이 타버려서 그런 것 같습니다.



 


 크리메이커에 다시 연락을 해야 하나 하다가 휴일 기간 동안 이것저것 뽑아보려고 긴급 처방을 했습니다. 해당 커넥터의 선을 빼서 아래처럼 보드에 바로 납땜했죠. 집에서 납땜을 하다 보니 도구도 없고 솔더링이 잘 안되네요. ㅎㅎ 커넥터는 단순하게 연결하는 역할만 하므로 아래처럼 직접 보드에 연결해도 무방해 보입니다. 시간 나면 깔끔하게 다시 솔더링 해야겠네요.



긴장과 함께 다시 전원을 켜고 3D프린터를 동작시키니 히팅베드가 동작합니다. LED 깜빡이는 것 보고 임베디드 처음 입문하면서 LED 제어 성공할 때처럼 기분 좋았습니다. ㅎㅎ


Thingivers에서 휴대폰 거치대를 다운로드해서 출력해보니 정상적으로 잘 출력됩니다. 이것 말고도 휴일 하루 동안 하루 종일 출력했는데 잘 동작하고 있습니다. 



기존에 사용해본 로복스 제품보다 출력 품질면이나 가격 면에서 크리메이커 제품이 더 좋은 것 같습니다. 용돈 좀 더 모아서 1대 더 구입해야겠습니다. 사무실에 놓고 일하면서 하나둘씩 출력해 보려고요. 아무튼 이렇게 좋은 3D프린터를 만나게 된 것은 행운이라 생각합니다. 감사합니다.

Posted by KennyShin
,


한국 금리 인상 꼭 필요한가?



미국 금리가 한국 금리보다 높습니다. 미국 금리가 높으면 한국에 있는 돈이 미국으로 빠져나가게 됩니다. 그래서 한국 금리를 높여야 한다는 여론이 일고 있습니다. 2018년 9월 26일 미국 FOMC(미연방은행)에서 3차 기준 금리를 0.25% 인상했습니다. 한국의 기준금리는 1.5%, 미국의 기준금리는 2~2.25%가 되었습니다. 이에 한국과 미국의 금리 차이는 0.75%까지 벌어져 있는 상태입니다.








그럼에도 미국은 연말에 0.25%의 금리를 추가 인상하겠다는 계획을 가지고 있습니다. 그러면 최고 1%까지 미국금리와 한국금리의 차이가 발생할 수 있는 상황입니다.


미국이 기준금리를 올리면 증권시장은 하락하는 것이 일반적입니다. 그런데 미국이 기준금리를 올렸음에도 불구하고 증권시장은 소폭 하락하는데 그쳤습니다. 한국은 증권시장이 하락하지 않고 오히려 상승했으며 환율도 오히려 하락하는 모습을 보였습니다. 이러한 현상은 미국금리 상승이 이미 시장에 반영되어있고 예견되었던 것으로 해석할 수 있습니다. 



그렇다면 기준금리란 무엇일까?



기준금리는 한국은행이 시중은행에 돈을 빌려주는 금리입니다. 조달금리는 시중은행이 한국은행으로부터 돈을 빌려오는 돈과 고객으로부터 예금 등을 유치할 때 들어가는 금융비용을 이야기합니다. 시중금리는 시중은행의 운영비(인건비, 지점 운영비), 적정이익 등을 포함하여 기업이나 개인이 접하는 금리입니다. 


COFIX(코픽스)는 자금조달비용지수라고 부릅니다. COFIX는 대한민국 내 9개 은행이 제공한 자금조달 관련 정보를 기초로 산출되는 자금 조달 비용지수로 주택 담보대출을 받을 때 COFIX를 기준으로 하여 금리를 결정하기도 합니다. 



한국과 미국의 금리 차이가 역전이 되었는데

왜 한국은행은 금리 인상을 하지 않을까요?



한국은행의 설립 목적은 "물가 안정"입니다. 한국은행이 금리를 올리려면 물가가 높아져야 합니다. 그런데 한국의 물가는 좀처럼 높아지지 않고 있습니다. 현재 소비자물가 상승률은 1.4%이고 채소나 유가를 제외한 근원물가 상승률은 0.9%입니다. 경제학자인 독일의 하노 벡은  "인플레이션"이라는 책에서 물가 상승이 2% 정도가 가장 이상적인 물가 상승률로 바라보고 있습니다. 물가 상승률이 2% 정도가 되어야 가격이 오르기 전에 소비가 이루어지기 때문입니다. 그런데 이상적인 물가 상승률이 2%에도 못 미치는 1.4%이고 근원물가상승률은 0.9%에 머물고 있습니다. 한국은행은 물가상승률이 높아야 금리를 올리는데 물가상승률이 높지 않기 때문에 금리를 올리지 못하고 있는 것입니다. 이것이 첫 번째 한국은행이 금리를 올리지 못하는 이유입니다. 그러면 두 번째 이유는 무엇일까요? 자영업자 대출 규모 증가율이 높기 때문입니다. 대출금리를 높이면 자영업자가 큰 고통을 받을 수 있기 때문입니다. 더군다나 2금융권에서 대출한 금액이 2018년 상반기에만 43조 원이 증가한 상태입니다. 한국과 미국 간의 금리가 역전된 상태이지만 우리나라의 외환 보유금액이 높고 수출이 아직 잘되고 있기 때문에 우려할만한 상황은 아니라고 보고 있습니다.


이러한 이유로 한국은행이 기준금리를 높이는 것은 아주 신중하게 판단할 수밖에 없습니다. 위에서 언급한 것처럼 한국은행의 설림 목적은 물가 안정입니다. 한국과 미국 간의 금리가 역전되어 부작용이 발생할 수 있지만 물가 상승률이 낮은 상태에서 금리를 올리는 것이 쉬워 보이지 않습니다.




Posted by KennyShin
,


기본 소득제, 미래의 대안인가?




기본소득제란?



기본소득제란 직업, 급여, 성별, 나이에 상관없이 기본적인 삶에 필요한 돈을 지원받는 것입니다. 유럽의 기본소득제는 기본소득을 주는 대신에 복지혜택은 줄이는 것입니다. 스위스에서 월 350만 원의 기본소득을 보장하는 기본소득제가 국회에서 부결되었습니다. 스위스 국민은 기본소득보다 기존의 복지혜택을 선택했다는 것인데요. 스위스의 높은 물가를 월 350만 원으로 감당하기 어렵다고 판단한 것입니다. 기본소득제가 실행되면 실업수당, 국가복지, 육아 혜택과 같은 모든 복지를 본인이 기본소득제에서 받은 돈으로 모두 충당해야 합니다. 


 기본소득제는 아직 실험 단계입니다. 전 사회 구성원을 대상으로 한 기본소득제를 도입한 나라는 아직 없습니다. 아직까지 일부 국민이나 일부 지역을 대상으로 진행되고 있습니다.










기본소득제는 복지제도의 문제점을 해결하기 위한 대안 제도입니다.


 기본소득제는 재정이 부족한 국가나 지역에서 시행되며 기본소득제가 등장하게 된 것은 4차 산업혁명 때문입니다. 4차 산업혁명은 실업자의 수를 증가시키고 그 결과로 재정을 악화 시키게 됩니다. 바로 국가의 재정 악화가 기본소득제의 등장 배경입니다.


산업혁명에서 실업자 발생을 어떻게 해결했나?



 1800년대 산업혁명에서 실업자가 발행했을 때 해결했던 방법은 3가지였습니다. 첫째, 노동시간 단축시켜 일자리를 늘렸습니다. 둘째, 실업을 권리화하여 직업훈련을 할 수 있도록 하거나 실업수당을 받을 수 있도록 하였습니다. 셋째, 서비스업을 탄생시켜 일자리를 만들었습니다. 


 기존의 산업혁명이 아닌 다가오는 4차 산업혁명이 가져올 실업자 발생은 어떻게 해결해야 할까요? 그 첫 번째 대안으로 제시되는 것이 기본소득제입니다. 유럽에서 기본소득제에 대한 논의가 활발한 이유는 복지재원 부족과 4차 산업혁명의 실업자 양산에 대한 대안으로 판단하고 있기 때문입니다.



기본소득제는 복지제도와 비교하여 두 가지 장점을 가집니다. 



 첫 번째는 복지에 대한 관리비가 필요하지 않습니다. 두 번째는 일을 하면 임금 이외에도 기본소득도 받을 수 있어 근로의욕을 높여줍니다. 경제적으로 볼 때 기본소득제는 큰 장점을 가진 제도입니다.


이 글은 Youtube에 공개된 "2018 생존경제"를 시청하고 개인적으로 정리한 글입니다.





Posted by KennyShin
,











2018년 최저임금은 7,530원이다.




 2018년 최저임금은 2017년 대비 16% 상승하여 7,530원이 되었습니다. 일부 언론에서는 최저임금을 인상하면 일자리가 없어지고 자영업자의 소득이 줄어든다고 이야기하고 있습니다. 즉 최저임금이 오르면 실업자가 증가하고 사회적 약자가 더욱 어려워지며 자영업자의 부담은 더욱 커진다는 것입니다. 





최저임금은 시장에 맡기는 금액보다 높은 금액의 임금을 법으로 지정하는 것



입니다. 시장에 자율로 맡기는 금액보다 최저임금을 높이면 기업의 노동자 수요는 줄어드는 것은 당연합니다. 이에 따라 사회적 약자는 일자리가 줄어들게 되므로 그만큼 실업자가 발생하게 됩니다. 




최저임금의 악순환과 선순환 




 최저임금의 상승은 악순환과 선순환 두 가지 의견으로 나누어집니다. 


악순환을 주장하는 사람들은 인건비가 상승하면 기업의 수익이 줄어들고 이에 따라 기업 활동이 위축됩니다. 이에 따라 인력 감축이 일어나고 실업자가 증가하게 됩니다. 실업자가 증가하면 소득이 줄어들게 되어 전체 소비가 감소하여 다시 기업의 생산량이 감소하는 구조를 가져온다는 것입니다. 


선순환을 주장하는 의견에는 최저임금이 노동자의 소득을 증대시키고 이에 따라 노동자의 소비가 증가하면 기업의 생산량 또한 증가하여 더 많은 노동자를 고용할 수 있다는 것입니다.


 두 가지 주장은 각 나라의 여건에 따라 선순환이 될 수도 있고 악순환이 될 수도 있습니다.


 최저임금 인상에 따른 선순환과 악순환 중 어떤 것이 맞는지 살펴보려면 최저임금 인상에 따른 노동자의 총임금이 상승하는지 하락하는지 보면 알 수 있습니다. 최저임금 인상에 따른 노동자의 총임금이 하락한다면 악순환으로 볼 수 있지만 총임금이 상승한다면 선순환으로 볼 수 있습니다. 아래의 그림을 보면 최저임금으로 인하여 줄어든 임금보다 늘어난 임금이 많다는 것을 알 수 있습니다. 노동자의 총임금이 늘어난 것을 확인할 수 있습니다. 따라서 최저임금의 인상은 선순환을 의미합니다. 그러나 최저임금의 인상으로 인한 실업자 증가는 피할 수 없습니다. 이에 따른 실업자(사회적 약자)는 "정부"가 보호해야 합니다. 정부가 직접 고용하거나 고용주를 지원해 주는 방법을 사용할 수 있습니다.



 한국은 해고와 고용이 어려운 노동 유연성이 낮은 국가(노동자의 공급이 비탄력적)입니다. 이는 최저임금 인상에 따른 효과가 큰 나라를 의미합니다. 따라서 한국은 최저임금 상승에 따라 부작용으로 생기는 실업자를 정부가 잘 끌어안을 방법을 생각하고 적극 실천해야 합니다. GDP는 가계, 기업, 정부로 이루어집니다. 그런데 가계 소득의 비중은 계속 줄어들고 있는 반면 기업의 비중이 늘어나고 있습니다. 이 것이 최저임금에 대해 중요성이 높아지고 있는 이유입니다.






 최저임금에 우리가 이렇게 민감하게 반응한다는 것은 한국 사회가 그만큼 힘들어졌다는 것을 의합니다.



Posted by KennyShin
,