본문 바로가기

[MyProject]/2006

[휴대용심전도기] 개발

휴대용 심전도기 개발

     -회로 설계
     -펌웨어 작성
     -USB인터페이스 작성


  • CPU : SRT711 ARM7 Core
  • 디지털/아날로그 회로 설계
  • 펌웨어 작성
  • USB 인터페이스 Device Driver, ActiveX작성

블럭도

 





1차 테스트 보드
테스트를 위한 보드로 MCU를 분리 할수 있도록 하여 디버깅및 업그레이드에 용이하도록 ARM테스트용 프로토 보드를 제작하였다.
실제로 이 프로젝트 개발할때 가정용이라 가격에 상당히 민감했는데 값싸고 성능 좋은 MCU선정를 선정할 시간이 없어, 일단 기존 MCU를 사용해 기능 검증하고 추후 저렴한 MCU를 선정할 계획으로 프로토 보드만들었다. 추후 AMR계열중 가장 저렴한 STR711 EVM을 제작했다.




2차 프로토 보드
양산전 테스트를 위한 프로토 보드를 제작, 테스트 및 검검을 용이하도록 했다.




3차 양산 보드







알고리즘 테스트 프로그램
-> PC에서 디버깅할 수 있는 프로그램 작성(PC에서 테스트된 코드를 ARM CPU에서 바로 실행 가능)
ECG데이터를 받아서 펄스 카운터 및 맥박 간격을 계산하기 위해서는 몇가지 알고리즘이 필요한데, 이 수학 알고리즘을 마이컴에서 검증하기는 상당히 힘들다. 특히나 ECG처럼 데이터가 많은 경우(6kbyte) 시리얼리나 JTAG장비로 디버깅하는 것은 너무 노가다 작업니다. 그래서 데이터를 USB로 받아서 알고리즘 처리하여 그래프로 표시하고 중간 알고리즘 처리 과정을 PC프로그램에서 디버깅하면 알고리즘 개발에 있어 상당히 빠르게 진행할 수 있다. 디버깅이 완료되면 알고리즘 코드를 그래로 마이컴에 적용하는 방식을 취했다.




USB Device Driver
STR711은 USB디바이스가 있어 USB로 쉽게 데이터를 전송할 수 있었다. 용량커서 알고리즘 계산하기도 편하고 가격도 싸고  USB까지 원칩으로 다 해결할 수 있어서 휴대용 의료기기에 적용하기 좋았다.




USB Data Read ActiveX 테스트 프로그램
전송된 데이터는 따로 그래프로 표시되고 재 가공되어야 하므로 PC쪽 프로그램은 따로 담당하는 사람이 있는데 USB로 데이터 전송해서 Application까지 데이터를 보내 주어야 하는데 딱 좋은 솔루션이 ActiveX이다. USB Device Driver로 데이터를 받아서 응용프로그램으로 데이터를 전송해 주는 ActiveX를 만들고 검증을 위한 테스트 프로그램 작성.




수집된 심전도 데이터

 

반응형