CAN Data Frame

벡터사에서 게시한 CAN 과 CAN FD의 Data Frame은 다음과 같다.

 

Bit Stuffing

참고로, CAN Data에서는 동일한 비트가 5회까지만 허용이되고, 6번째 비트는 무조건 반전 bit를 출력하게 되어 있다. 이는 CAN 통신에 별도의 Clock이 없는 관계로, 동일한 데이터가 연속적으로 들어올때 Clock을 놓치게 되는 현상을 방지하기 위함이며, 이를 Bit Stuffing 이라고 한다.

 

CAN Data 실측(오실로스코프)

CAN FD는 논외로 하고 Classic CAN에 대한 실제 측정 파형을 하기와 같이 측정하여 정리해 보았다.

참고로, 위의 데이터는 ST MCU의 CAN Data를 오실로스코프로 캡쳐한 것으로 Data 영역은 Little Endian으로 전송을 하고 있다.

- 이상

EEPROM Selfboot Image 만들기 위해서 하기와 같은 동작을 실행한다.

"A2B Configuration File 생성 + ADAU1452 Program File 생성" 이미지가 필요하므로 2단계로 진행한다.

 

A2B Configuration File 생성

  1. 현재 구성된 내용대로 Compile & Download 실시

  2. ADAU1452 선태 오른쪽 Click 하여 "Peripheral Properties" 선택

  3. Uncheck 실시

  4. Compile & Download 실시

  5. Target 선택하여 오른쪽 Click --> "Export System Config Files…" 선택

  6. Browse 선택하여 xlm 파일이 저장될 경로 파일 이름을 설정하고, check 박스도 하기 그림과 동일하게 "Generate" Click.

 

ADAU1452 Program File 생성

  1. ADAU1452 Program File Load(ADI에서 예제로 배포한 adi_a2b_master_ADAU1452.dspproj 사용)한다.

  2. A2B Programmer Block Schematic Drag하여 놓는다.

  3. I2C SPI 버튼을 Click

  4. Pop-up 창에서 "…" Click 위의 i에서 생성한 A2B Configuration File 선택 , Protocol I2C 선택하고 OK 버튼을 누른다.

  5. Compile & Download 실행

  6. Hardware Configuration 탭을 선택 , ADAU1452 Target 선택 --> 오른쪽 Click 하여 하기 그림과 같이 Self-boot Memory-->Write Latest Conpilation through DSP 선택

  7. 하기 Pop-up 창이 뜨면 OK 누름

  8. Write 완료되면 다음 Power Cycle(Off → On)에서 동작을 하므로, Self-boot mode 스위치 전환 Power Off→On 실행하면, Self-boot mode로 동작하는 것을 확인 할 수 있다.

- 이상

A2B SW 설치

A2B SW 설치는 Analog Device 사에서 제공하는 SW를 설치해야 한다. 그 방법은 다음과 같다.

A2B Software 사이트( https://www.analog.com/en/resources/evaluation-hardware-and-software/software/a2b-software.html#software-relatedsoftware)에서 하기 붉은 사각형 안을 클릭하면 (https://www.analog.com/media/en/evaluation-boards-kits/evaluation-software/a2b-software-rel19pt4pt4.exe) SW Download 설치

 

이상 Figure 2-2와 같이 Software Shcematic을 확인 할 수 있다면 SW 설치는 모두 완료가 된것이다.

 

EVK Test 1 - 오디오 구성 변경하여 테스트

이상 EVK Manual 따라하면 3 도식과 관련한 보드 구성에서 오디오 출력을 확인 가능하다.

또한 다음과 같이 다른 예제 확인 가능하다.

Ex1>> ADAU1452에서 Aux In Audio 입력하고 Node1 Aux 출력으로 오디오 재생

Node 0 다음과 같이 셋팅

Node 1 다음과 같이 셋팅

 

A2B Sub-node 구성 후 Master Board DSP만 수정하는 방법

A2B Sub-node xml 추출(AE_09_A2B_SigmaStudio_UserGuide.pdf)

Master Board DSP 수정(AE_09_A2B_SigmaStudio_UserGuide.pdf)

 

Xml 추출하기

Target / Peripheral (AE_09_A2B_SigmaStudio_UserGuide.pdf) 2.2.3.2절 참고

  • Target or Peripheral이 ADI 제품인 경우
    • Sigmastudio Schematic 작성하여 하기와 같이 대응

                    ### 위의 Figure 14 같은 창을 먼저 설정한 1 실행 → Capture 화면에서(1 실행 모두 Clear 선행)                          모두 선택해서 오른쪽 창으로 Drag → Drag 데이터가 오른쪽에 Writing 되면 3 실행

  • Target or Peripheral이 ADI 제품이 아닌 경우 
    • 하기 순서대로 A2B Schematic(Target Processor는 AD24xx 대신 Tree ToolBox의 A2B Folder에서 Peripheral Device를 속성에 맞게 Source/Sink … 등으로 선택)을 구성 후 Direct I2C Control 후 그 Log를 xml 파일로 저장

 

A2B System Configuration Files(AE_09_A2B_SigmaStudio_UserGuide.pdf)

위에 언급된 pdf 파일의 4절을 참고.

 

EVK Test - 3

    1. A2B Master EVK에 I2C만 AD82584F AMP EVK에 연결하여 AD82584F AMP Control(출력 OK) 가능한지 확인
    2. HW 구성 완료 : A2B Master EVK I2C/GND를 AD82584F AMP EVK에 연결
    3. AD82584F AMP EVK에서 Audio는 PC USB를 이용하여 전달 준비 완료. A2B Master Board는 AMP EVK Reset 후, AMP Register 0x03 = 0x5a를 기입하여 출력이 나오는지 확인하면 됨.
    4. Sigma Studio에서 Tree ToolBox에서 A2B --> Peripheral device --> Sink를 Drag 후 하기 붉은 사각형과 같이 AD82584F EVK의 I2C Sub Address인 0x31을 설정
    5. 위의 Schematic에서 Audio Sink0를 Click 후 오른쪽 Click 하여 Peripheral Properties를 선택
    6. 하기 붉은색 사각형처럼 AD82584F의 Volume 설정을 위해 0x03 = 0x5a를 Write하면 AD82584F에서 Audio를 확인
    7. 이후 위 그림의 파란색 원안의 아이콘을 클릭해서 xml 파일로 저장. AD82584F로 저장 함.
    8. 빨간색 원"…"을 선택해서 방금 저장한 AD82584F.xm을 선택하고, 빨간색 원 "Program during discovery"를 Check하면 Master Board가 Booting 할때 마다 Discovery 실행 시 AD82548F.xml에 저장된 I2C CMD를 실행한다.

 

다음 Part2에서는 EEPROM을 이용한 Self-booting 하는 방법을 이어서 확인하도록 한다.

드디어 돌아왔다. 겨울 스포츠 계절이다.

작년과 동일하게 4인가족 휘팍 시즌권을 질렀다.

장농에 고이 간직하던 스키복을 꺼내 보았다. 애들 스키복이 작지 않을까 생각했는데 역시...

큰 아들 스키복은 작년에 교체를 해서 넉넉한 사이즈지만, 둘째 아들 스키복은 큰 애것을 물려주었는데 사이즈가 작아져 버렸다. 그만큼 둘째 녀석이 많이 컷나부다.

그래서 우리 가족 스키복을 항상 구입하는 성남시 중원구 금강하이테크밸리 1차 9층(905호)에 위치한 은설을 방문했다.

참고로 3년째 이곳을 방문 중이며, 여태 다녀본 곳 중에서 가성비 최고로 디자인 좋고, 품질 좋은 저렴한 스키복을 구입할 수 있는 곳이다.

https://place.map.kakao.com/16036399

 

은설

경기 성남시 중원구 사기막골로 177 905호 (상대원1동 133-1)

place.map.kakao.com

주말에는 주차가 무료인지라 기분 좋게 주차를 한 후, 9층까지 엘레베이터로 이동.

사진 왼쪽(엘레베이터 타는 곳)에 사람들이 서있는 것처럼 보이지만 사실은 마네킹이다. 엘레베이터를 내리자 마자 위치해 있으니 깜짝 놀람 주의 !!! ㅎㅎ

정문 입구를 따라 매장에 들어서면 등산복 등의 스포츠 의류들이 전시 되어 있다. 아래 사진 처럼 말이다.

주인 아저씨가 보이지 않을때는 주인 아저씨를 불러 보도록~ 사무실에서 업무를 보고 계시다가 나오실때가 있으니 말이다.

위의 사진 상으로 오른쪽이 입구 모습이고, 왼쪽 위쪽에 사람들이 있는 곳 오른쪽이 스키복이 전시되어 있는 곳이다.

지나가는 복도에도 스키복이 옷장 가득히 보관 되어있고,

복도를 지나서 진입한 방에도 가득히 스키복이 보관되어 있다.

여기에서 맘에 드는 것을 고르고 주인 아저씨에게 사이즈를 물어보면 친절하게 안내를 해주신다.

스키복 이외 헬멧/스키장갑/고글 등도 저렴하게 구입할 수 있고, 스키복을 사면 서비스 상품을 별도로 챙겨 주신다. ㅎㅎ

참고로, 상세 문의는 하기 전단지와 명함을 참고하면 될 것 같다. 

이번에 구입한 상품을 입고 12/11(월) 비가 촉촉히 내리는 강원도 평창 휘팍에서 찍은 사진이다.

초록 형광색 상의/검정색 하의가 이번에 구입한 둘째 아들 스키복이다. 참고로 내 상의만 빼고 4명 모두 스키복을 이곳 은설에서 구입했다.

모두들 은설에서 득템하시고 즐거운 스키/보드 즐겨요~!!!

UiPath를 인터넷 강의를 통해 습득중이다.

그래서 UiPath Studio Community (ver 2023.10.0)를 인스톨하여 열심히 공부 중인데 한 가지 문제가 발생했다.

인터넷 강의에서는 하기 그림과 같이 액티비티 창에서 마우스 Click이 있는데,

내가 사용하는 UiPath Studio에서는 하기 그림과 같이 없다.

영어로 Googling 해보았지만 정확하게 답변이 나오는게 없다. 아니다... 생각해보니 Modern Activity인지 확인을 하라는 언급이 있었는데 그냥 일씹 했던거 같다.

하루 동안 맨땅에 헤딩을 하고, Googling을 수도 없이 해본 결과.... 여튼 문제는 Modern Activity를 사용하면서 발생하는 문제였다. (진작... 꼼꼼히 봤었으면 이렇게 고생하지 않았을 텐데... -_-;;)

하기 그림과 같이 깔때기 아이콘을 클릭하면 붉은색 동그라미안 클래식이라는 걸 클릭해주면 끝이다.

 

하기 그림을 통해, 클래식을 선택했을때 클래식이 추가된 것을 확인할 수 있고, 엘리먼트안에 마우스 Click이 있는 것을 알 수 있다.

이렇게 쉬울 줄이야...

이제 인터넷 강의대로 실습만 하면된다.

 

- 이상

라즈베리파이를 윈도우 노트북에서 VNC Viewer로 원격으로 사용 중에 있다.

헌데, 한 가지 문제점이 있다.

가끔씩 ip가 바뀌어서 VNC Viewer로 연결이 안되는 경우가 있다.

그럴때면 또 라즈베리파이를 HDMI 케이블로 연결하여 모니터로 화면 디스플레이하고, 마우스/키보드 USB Dongle을 연결해서 셋팅을 다시하는 번거로운 일을 무한 반복하게 된다.

그래서 인터넷을 뒤져 보니 라즈베리파이의 유동 ip를 고정 ip로 바꾸는 방법이 있어서 글을적어 본다.

 

유동ip를 고정ip로 변경하기 - 1

먼저, cmd창에서 ifconfig를 입력하여 현재 ip를 확인한다.

현재 ip는 위의 하이라이트된 부분과 같이 192.168.50.83으로 변경된 것을 확인했다.

 

이제 netstat -nr 명령어로 Gateway를 확인한다.

현재 Gateway는 위의 하이라이트된 부분과 같이 192.168.50.1으로 확인이 된다.

 

이제 고정 ip로 변경하기 위해 dhcpcd.conf 파일을 변경해야 한다.

다음과 같이 vi editor로 /etc/dhcpcd.conf 파일을 변경해 본다.

그 다음 Enter를 치면 vi editor로 열린 dhcpcd.conf 파일을 다음과 같이 볼 수 있다.

위에 하이라이트된 5줄을 복사 후 제일 마지막 줄에 붙여 넣기(하기 그림의 붉은 사각형 참고) 한다. 

그리고 나서 다음과 같이 ip/Gateway 정보를 기입한다.

  1. #(주석)을 모두 삭제
  2. WiFi인 경우 첫번째 라인의 파란색 밑줄과 같이 wlan0 으로 변경
  3. ip 기입을 위해 두번째 라인의 파란색 밑줄과 같이 현재 라즈베리파이의 ip를 기입
  4. Gateway 기입을 위해 네번째 라인의 파란색 밑줄과 같이 현재 라즈베리파이의 Gateway를 기입

그 다음 vi editor를 저장하고 종료하면 모든 작업이 끝이다.

 

- 이상

리눅스 커널 공부를 하다 보니 리눅스 커널의 방대한 코드를 이해하기 위해 어쩔 수 없이 윈도우에서 사용하던 Source Insgint의 힘을 빌려야겠다.

즉, 라즈베리파이(라즈비안)에 SAMBA를 설치하여 윈도우 PC에서 Linux Kernel Folder를 Access하는 방법을 사용하려 한다.

1. 라즈베리파이(라즈비안)에 SAMBA를 설치한다.

하기 CMD를 입력한다.

root@raspberrypi:~# sudo apt-get install samba samba-common-bin

다음 화면에서 'Y'를 입력

그런데 잘되다가 하기와 같은 Error 발생.

그래서 다음과 같이 sudo apt update를 실시한다.

위의 화면에서 'y'를 눌러 계속 진행.

또 다시 'y'를 눌러 계속 진행하면 다음과 같이 완료된다.

이제 apt-get update를 실시한다.

이제 다시 하기 CMD를 실시.

root@raspberrypi:~# sudo apt-get install samba samba-common-bin

여기서 다시 'Y'를 입력한다.

다운받기가 자동적으로 진행되다가 하기와 같은 UI 화면이 출력되는데, '<아니오>'를 눌러 진행을 한다. 참고로, mulithomed smb network에서만 필요한 옵션이라고 한다.

정상적으로 설치가 완료 되었다면 하기 화면과 같이 종료가 될 것이다.

이제 SAMBA 설정을 변경하기 위해 하기와 같은 CMD를 입력한다.

root@raspberrypi:~# sudo vi /etc/samba/smb.conf

제일 마지막 Line에 하기와 같이 237 ~ 242 라인을 입력한다.

참고로, 각 라인에 대한 설명은 다음과 같다.

  1. 237 라인 : [] 안의 내용은 라즈베리파이 ID를 기입
  2. 238 라인 : 공유하고자 하는 폴더의 Path를 기입
  3. 239 라인 : writeable을 Yes로 하면 쓰기를 허용
  4. 240/241 라인 : 읽기/쓰기를 모두 허용하기 위해 0777 기입
  5. 242 라인 : public을 no로 하면 암호 설정

vi editor를 종료하기 위해 'ESC' 키 입력 → ':'(클론) 입력 → 'wq' 입력하여 vi editor를 종료한다.

위의 237라인에 기입한 id로 SAMBA를 사용하기 위해 하기와 같이 passwd 설정을 실시한다.

하기 CMD로 SMABA를 restart한다.

root@raspberrypi:~# sudo service smbd restart

2. 윈도우에서 라즈베리파이 접속

윈도우에서 라즈베리파이를 접속하는 방법은 다음 2가지가 있다.

윈도우 창에서 "\\raspberrypi\삼바id"(삼바id는 위에서 pi로 설정) 입력 or "\\raspberrypi ip주소\삼바id"를 입력하면 된다.

첫번째 옵션으로 한 경우 다음과 같은 창이 뜬다.

위에서 설정한 SAMBA id와 password를 입력하고 확인을 누르면 다음과 같이 라즈베리파이에서 공유설정 한 내용이 보인다.

만약 Window에서 라즈베리파이에서 공유한 폴더에 쓰기가 되지 않는다면, 라즈베리파이에서 해당 폴더에 쓰기 권한을 설정했는지 확인이 필요하다.

참고로, 라즈베리파이에서 쓰기 권한 설정은 다음과 같다. 참고로, 본인은 rpi_kernel_src 라는 폴더에 쓰기 권한 설정을 한 것이다.

chmod 777 -R rpi_kernel_src

참고로 -R 옵션은 하위 폴더까지 적용하기 위함이다.

- 이상

VNC Viewer로 라즈베리파이를 연동하면 초기에 마우스 커서가 X 모양으로 표시가 된다.

검색결과 이것을 일반적인 화살표 모양 마우스 커서로 변경하는 것은 다음가 같이 매우 간단했다.

CMD 창에서 하기 CMD를 입력하면 끝.

lxappearance

헉... 하지만 이 Solution은 라즈베리파이를 재부팅하면 다시 마우스 커서가 X 모양으로 표시가 된다.

그래서 구글 검색을 통해 다음과 같은 좋은 방법을 찾아냈다(상세 내용은 https://forums.raspberrypi.com//viewtopic.php?f=66&t=122386&p=861126 링크 참고)

우선 xseesionrc라는 파일을 vi editor를 이용해서 새로 만든다.

pi@raspberrypi:~ $ vi .xsessionrc

그 다음, 하기와 같이 기입을 한다.

xsetroot -cursor_name left_ptr&

그 다음 'esc' 키를 누른 후 ':' 를 입력하고 그리고 나서 'wq!'를 입력하여 기입한 내용을 저장하고 vi 에디터를 종료한다.

그리고 나서 reboot를 실시하면 라즈베리파이가 재기동 후 마우스 커서가 원하던 바대로 일반적인 화살표를 유지하고 있는 것을 확인 할 수 있다.

- 이상.

+ Recent posts