정밀 PCB 제조, 고주파 PCB, 고속 PCB, 표준 PCB, 다중 계층 PCB 및 PCB 조립.
가장 신뢰할 수 있는 PCB 및 PCBA 맞춤형 서비스 팩토리
PCB 기술

PCB 기술 - 내장형 PCB 마더보드를 위한 다양한 팁

PCB 기술

PCB 기술 - 내장형 PCB 마더보드를 위한 다양한 팁

내장형 PCB 마더보드를 위한 다양한 팁

2021-11-06
View:412
Author:Will

정식 임베디드 PCB 마더보드 설계 및 개발 엔지니어가 되는 것은 개발자가 시스템의 모든 비트와 바이트를 유지 관리하고 관리해야하는 어려운 과정입니다.규범화된 개발 주기부터 엄격한 실시와 시스템 검사에 이르기까지 많은 기술이 신뢰성이 높은 임베디드 시스템을 개발할 수 있다.오늘은 사용이 간편하고 오래 사용할 수 있는 PCB 기술 7가지를 소개합니다.또한 시스템을 보다 안정적으로 실행하고 비정상적인 동작을 포착하는 데 도움이 됩니다.

소프트웨어 개발자는 일반적으로 코드가 오랫동안 충실하게 실행되기만 하면 매우 낙관적인 사람들이다.마이크로컨트롤러가 응용 프로그램 공간을 벗어나 예기치 않은 코드 공간에서 실행되는 것은 매우 드문 것 같다.그러나 버퍼가 넘치거나 잘못된 포인터가 참조를 잃을 확률이 높습니다.일어날 거야!이러한 상황이 발생하면 기본적으로 메모리 공간이 0xFF이거나 메모리 영역이 일반적으로 기록되지 않기 때문에 시스템의 동작이 불확실합니다. 이 값은 하나님만 알 수 있습니다.

그러나 이러한 이벤트를 식별하고 시스템을 복구하는 데 도움이 되는 상당히 완전한 링크 또는 IDE 기술이 있습니다.팁은 FILL 명령을 사용하여 사용되지 않는 ROM을 알려진 비트 모드로 채우는 것입니다.사용되지 않는 메모리를 채우기 위해 여러 가지 가능한 조합을 사용할 수 있지만 더 신뢰할 수 있는 시스템을 구축하려면 ISR 장애 처리기를 이러한 위치에 배치하는 것이 가장 확실한 선택입니다.시스템에 문제가 발생하면 프로세서가 프로그램 공간 외부에서 코드를 실행하기 시작하여 ISR을 트리거하고 수정 조치를 결정하기 전에 스토리지 프로세서, 레지스터 및 시스템 상태의 기회를 제공합니다.

회로 기판

내장형 엔지니어의 가장 큰 장점은 IDE와 툴체인이 어플리케이션 또는 메모리 공간 체크섬 (checksum) 을 자동으로 생성하여 이 체크섬 (checksum) 에 따라 어플리케이션이 완전한지 확인하고 검증할 수 있다는 것입니다.흥미롭게도, 대부분의 경우 체크섬은 프로그램 코드가 장치에 로드될 때만 사용됩니다.

그러나 CRC 또는 체크섬 메모리에 저장된 경우 시작 시 애플리케이션이 제대로 작동하는지 확인하는 것이 예기치 않은 사고가 발생하지 않도록 하는 좋은 방법입니다.오늘날 프로그래밍 응용 프로그램이 변경될 가능성은 작지만 매년 수십억 개의 마이크로 컨트롤러가 납품되고 잠재적으로 열악한 작업 환경을 고려할 때 의료 기기 응용 프로그램이 붕괴될 가능성은 거의 없습니다.시스템의 결함으로 인해 섹터에서 플래시 쓰기 또는 플래시 삭제가 발생하여 애플리케이션 무결성이 손상될 수 있습니다.

시작 시 RAM 확인 수행

더 안정적이고 견고한 시스템을 구축하기 위해서는 시스템 하드웨어가 제대로 작동하는지 확인하는 것이 중요합니다.결국 하드웨어에 장애가 발생할 수 있습니다.(다행히도 소프트웨어는 절대 실패하지 않는다. 소프트웨어는 코드가 옳든 그르든 원하는 일만 한다.)시작할 때 내부 또는 외부 RAM에 문제가 없는지 확인하는 것은 하드웨어가 예상대로 작동할 수 있도록 하는 좋은 방법입니다.

RAM 검사를 수행하는 방법에는 여러 가지가 있지만 알려진 모드를 쓰고 다시 읽기 위해 잠시 기다리는 것이 일반적인 방법입니다.결국 네가 읽은 것이 바로 네가 쓴 것이다.사실, 대부분의 경우 RAM 검사가 통과되었습니다. 이것이 우리가 원하는 결과입니다.그러나 검사를 통과하지 못할 가능성은 매우 적어 시스템이 하드웨어 문제를 지시할 수 있는 좋은 기회를 제공한다.

스택 모니터 사용

많은 임베디드 개발자들에게 스택은 상당히 신비한 힘인 것 같다.이상한 일이 일어나기 시작했을 때, 엔지니어들은 마침내 어려움을 겪었고, 그들은 스택에서 일어날 수있는 일에 대해 생각하기 시작했습니다.결과는 무작정 스택의 크기와 위치 등을 조정하는 것입니다. 그러나 오류는 종종 스택과 관련이 없지만 어떻게 그렇게 확신할 수 있습니까?결국 최악의 경우 스택 크기 분석을 실제로 수행한 엔지니어는 얼마나 됩니까?

스택 크기는 컴파일할 때 정적으로 할당되지만 스택은 동적으로 사용됩니다.코드를 실행하면 응용 프로그램에 필요한 변수, 반환 주소 및 기타 정보가 스택에 연속적으로 저장됩니다.이 메커니즘은 할당된 메모리에서 스택을 계속 증가시킵니다.그러나 이러한 증가는 컴파일할 때 식별된 용량 제한을 초과하여 스택이 인접한 메모리 영역의 데이터를 손상시키는 경우가 있습니다.

스택이 제대로 작동하는지 확실히 하는 한 가지 방법은 스택 모니터를 시스템 상태 코드의 일부로 구현하는 것입니다. (몇 명의 엔지니어가 그렇게 합니까?)스택 모니터는 스택과 "기타" 메모리 영역 사이에 버퍼를 만들고 알려진 비트 모드로 채웁니다.그런 다음 모니터는 모드가 변경되었는지 여부를 지속적으로 모니터링합니다.비트 패턴이 변경되면 스택이 너무 많이 증가하여 시스템이 어두운 지옥으로 밀려날 것입니다!이 시점에서 모니터는 이벤트의 발생, 시스템 상태 및 기타 유용한 데이터를 기록하여 향후 문제를 진단할 수 있습니다.

스토리지 보호 유닛(MPU)을 구현하는 대부분의 실시간 운영 체제(RTOS) 또는 마이크로컨트롤러 시스템에 스택 모니터를 제공합니다.무서운 것은 이러한 기능이 기본적으로 꺼져 있거나 개발자에 의해 의도적으로 꺼지는 경우가 많다는 것입니다.인터넷에서 빠른 검색을 통해 많은 사람들이 56바이트의 플래시 메모리 공간 등을 절약하기 위해 실시간 운영 체제에서 스택 모니터를 닫는 것을 권장합니다. 이것은 얻는 것보다 잃는 것이 더 많습니다!

PU 사용

과거에는 소형의 저렴한 마이크로컨트롤러에서 메모리 보호 유닛(MPU)을 찾기 어려웠지만 이런 상황은 이미 바뀌기 시작했다.이제 내장형 PCB 소프트웨어 개발자에게 펌웨어의 안정성을 크게 향상시킬 수 있는 기회를 제공하는 하이엔드에서 저가형 마이크로컨트롤러에 이르기까지 MPU가 이미 있습니다.

MPU는 분리 처리된 메모리 공간을 만들기 위해 운영 체제와 점차 결합되어 있거나, 작업이 압사 당할 염려 없이 코드를 실행할 수 있습니다. 어떤 일이 발생하면 제어되지 않는 처리가 취소되고 다른 보호 조치가 적용됩니다.이 부품이 있는 마이크로컨트롤러를 주의하십시오. 만약 있다면 이 부품의 특성을 더 많이 이용하십시오.

강력한 문지기 시스템 구축

당신이 자주 발견할 수 있는 가장 좋아하는 문지기 실현 중 하나는 문지기의 사용 위치 (이것은 좋은 시작이다) 이지만, 정기적인 타이머를 사용하여 문지기의 위치를 제거할 수도 있다;타이머의 활성화는 프로그램에서 발생하는 모든 상황과 완전히 분리됩니다.문지기를 사용하는 목적은 오류가 발생하면 문지기가 제거되지 않도록 하는 것이다. 즉, 작업이 일시 중단되면 시스템은 복구를 위해 하드웨어 재설정을 실행해야 한다.시스템 장애가 발생하더라도 시스템 활동과 독립적인 타이머를 사용하여 도어 워치를 청소 상태로 유지할 수 있습니다.

응용 프로그램 작업을 도어 도그 시스템에 통합하는 방법은 내장형 PCB 마더보드 개발자가 신중하게 고려하고 설계해야 합니다.예를 들어, 특정 기간 동안 실행되는 각 작업을 성공적으로 완료할 수 있음을 나타내는 기술이 있습니다.이 경우 문지기는 제거되지 않고 강제로 재설정된다.외부 문지기 프로세서를 사용하여 주 PCB 프로세서의 동작을 모니터링하는 데 사용할 수 있는 것과 같은 더 진보된 기술도 있습니다.신뢰할 수 있는 시스템에 있어서 강력한 감독 시스템을 구축하는 것은 매우 중요하다.

비휘발성 메모리 할당 방지

리소스가 제한된 환경에서 일하는 데 익숙하지 않은 엔지니어는 휘발성 PCB 메모리 할당을 사용할 수 있도록 프로그래밍 언어의 기능을 사용하려고 시도할 수 있습니다.결국, 이것은 계산기 시스템에 자주 사용되는 PCB 기술입니다.계산기 시스템에서는 필요한 경우에만 메모리를 할당합니다.예를 들어, 개발을 위해 C를 사용할 때 엔지니어는 malloc을 사용하여 더미의 공간을 할당하는 경향이 있습니다.작업이 수행됩니다.완료되면 free를 사용하여 할당된 메모리를 반환하여 힙에 사용할 수 있습니다.