본문 바로가기

자동차 임베디드 SW/Aurix MCU16

Aurix Dma CRC 기능 ■Aurix Dma 는 Dma가 옮긴 데이터의 무결성 확인을 위해 Tasnfer 완료 후, CRC 값을 계산해서 제공해준다. ■CRC 결과는 두가지를 제공 - Transfer 과정에서 활용된 source address, Destination Address 에 대한 CRC 값 - 옮긴 데이터 값에 대한 CRC 값 ■채널마다 CRC 결과가 쓰여지는 별도의 레지스터가 있음. address에 대한 CRC , Data에 대한 CRC 레지스터가 각각 있음 2024. 5. 8.
AURIX MCMCAN 모듈4 -Tx Handling 노드마다 총 32개의 Tx Buffer를 가진다. Tx Buffer는 Dedicated Buffer , Tx FIFO , Tx Queue 3가지 타입으로 나뉜다. 32개의 Tx Buffer를 얘네가 나눠서 쓰는 컨셉이다. 이때, Tx FIFO랑 Tx Queue 는 동시에 사용할 수는 없다. Dedicated Buffer + Tx FIFO 또는 Dedicated Buffer + Tx Queue 조합으로 사용가능하다. 별도의 레지스터를 통해서 각 타입의 버퍼를 몇개 사용할지 정해야한다. 예를 들면 dedicated Buffer 10개, TX FIFO 5개 이런식으로 정해서 쓴다. 두 버퍼의 총합은 최대 32개이다. 각 버퍼에 송신하려는 Tx message의 ID값과 데이터 영역 등을 셋팅하고 해당 버퍼와 매.. 2023. 7. 18.
AURIX MCMCAN 모듈3 - Rx Handling 수신된 메세지를 담고 있는 공간은 총 3가지 타입이 존재한다. RX FIFO0 ,RX FIFO1, Dedicated Buffer 각 타입 모두 최대 64개의 메세지 정보를 저장할 수 있다. 한편 특정 메세지를 수신했을때 해당 메세지를FIFO로 보낼건지 Dedicated Buffer로 보낼건지 셋팅하는 부분은 필터이다. 노드별로 standard id용 필터 128개 extended id용 필터 64개가 존재한다. 각 필터에서는 필터,마스크에 대해 셋팅을 하고, 필터 마스크와 매핑되는 ID를 가진 메세지를 수신했을때 그 결과를 RXFIFO0 , RXFIFO1, Dedicated Buffer 중에 어디에 저장할지를 지정한다. 여기서 필터와 마스크란 수신된 메세지의 ID와 마스크를 AND 연산한 결과와 필터 값.. 2023. 7. 18.
AURIX MCMCAN 모듈2 2023. 7. 18.
Aurix MCMCAN 모듈 1 2023. 7. 18.
Aurix USRINFO NVM과 Flash의 Hybird한 영역이다. RAM 처럼 자유롭게 쓰고 지우기가 가능한데 값의 초기화는 오직 POWER On Reset 때만 초기화 된다. 유의점은 write protection 걸려있는 레지스터라 safetyendinit 해제 시켜야된다. 2023. 3. 9.
Aurix MCM CAN의 TX Buffer 정리 Aurix 1G에서는 Multi CAN 이라는걸 썼는데 AURIX 2G 에서는 보쉬에서 만든 MCM CAN이라는 패리펄럴을 사용한다. TX Buffer는 타입이 3가지가 존재한다. Dedicated Type FIFO Type TX QUEUE Type 한편 Tx 버퍼의 갯수는 최대 32개인데, 이 32개는 위 3가지 타입 모두 동시에 share 하는 영역이다. (타입별로 32개씩 존재하는게 아님) 또 한가지 중요한건 FIFO랑 Queue는 동시에 사용할 수 없다는 사실이다. 참고로 FIFO는 말그대로 먼저 전송 요청된 메세지를 먼저 송신하는 방식으로 동작하고, Tx Queue는 메세지 id 값이 작은것(우선 순위 높은것)을 먼저 송신하는 방식으로 동작한다. 레지스터 셋팅을 통해서 Tx Queue를 쓸건지,.. 2023. 3. 8.
Aurix Flash 기본지식 flash erase의 최소단위는 sector flash write의 최소단위는 page sector와 page 크기는 hardware 적으로 사전에 정해져있다. 유저매뉴얼을 보고 확인하면된다. (보통 sector가 page보다 훨씬 크다) Aurix에는 Pflash , Dflash 라는 2가지 타입의 flash가 존재함 각각 Program flash , Data Flash 의 약자이다. Pflash와 Dflash는 섹터와 페이지 크기가 서로 다르다. Pflash page : 32byte Dflash page : 8 byte flash에 write를 하기전에는 항상 erase를 해놓은 상태여야한다. (덮어쓰기가 안됨) 덮어쓰기 시도 할 경우(erase 상태가 아닌 flash에 write시도) trap 발.. 2023. 1. 19.
Aurix ADC - 컨버전 요청. Trigger Aurix의 VADC 모듈의 동작 주요컨셉 ▶ 3개의 큐가 존재. ▶ 컨버전 하려는 채널을 컨버전 원하는 순서대로 큐에 집어넣음 ▶ 큐에 컨버전 요청 ( Conversion Request) ▶ 컨버전 요청 받으면 큐에 집어넣은 채널의 adc conversion이 이뤄짐 ▶ 실제로 conversion이 수행되고 Conversion 결과가 Result레지스터에 담긴다. ▶ 큐에 채널 삽입하기전에 이런저런 셋팅을 하고 큐에 삽입하는데, 예를 들면 컨버전 완료되고나서 다시 큐에 자동삽입 할건지. 컨버전 완료됐을때 인터럽트나 dma로 알려줄건지(Service Request) 등을 셋팅한다. 이 셋팅한 결과에 따라 해당 채널이 큐에서 꺼내지면서 컨버전완료 된 후 동작 달라짐. ▶ Adc Conversion 완료 후.. 2022. 9. 23.