회원가입 ID/PW 찾기

마이크로프로세서 통신관련질문

hipertech2017.06.12 16:1106.12조회 수 183댓글 1이 게시물을

AA

안녕하세요?

첫번째 질문입니다.

232(485)를 이용한 통신문제.

1. 사용하는 Chip ; PIC16F886

2. 구성 ; 232(485)에 메인장비와 연결이 되어 통신을 하고 있습니다. 메인에서 PIC886에 1초에 한번씩 데이터를 보내라고 전송합니다.

3. PIC886에는 적외선 수신부와 송신부가 있어 센서로부터오는 신호를 PIC886에서 받아 메인으로 전달하는 기능입니다.

4. 질문의 요지는 센서로부터오는 신호는 정해진 시간이 아닌 불규칙하게 온다는 것이고 메인에서는 1초에 한번씩 데이터를 보내라는 신호를 보낸다는 것입니다.

5. PIC886에서 스캔하며 데이터 수신 및 메인으로의 전송을 하려면 어떤 방법을 쓰는것이 좋을지 조언부탁합니다.

6. 메인의 호출시간은 1초로 고정되어 있습니다.

 

고수님들의 지도 바랍니다.

댓글 1
  • No Profile
    om 17.06.12 19:46 댓글 좋아요 0 싫어요 0

    메인은 주기성(1초)으로 데이타를 요구하고 센서는 비주기성으로 데이타를 준다면 중간 cpu(886)의 역활을 어떻게 할것인가?라는 것으로 이해했습니다.

     

    결론은 cpu 886(옛날 cpu 같은데..)는 메인 동기(주기성)에 따라야 합니다.

    왜냐하면,메인 입장에서는 혹 여러개의 886을 스켄하고 있다면? 주기적으로 886과 주고 받지 않으면, 통신 프로코콜이 매우 복잡해집니다.

    주로 여러개의 886중 하나가 돌아가시거나,반응을 안하게 되면 메인 입장에서는 처리하는데 시간이 많이 걸립니다. 

     

    그래서 886입장에서는 데이타가 없거나 지난 데이타라도 그냥 메인이 스캔해 오면 올려야 하는 부담감이 있습니다.

    메인,즉 전체 통신을 원활하게 해 주기 위해서,, 

     

    그럼 886입장에서는 센서가 비주기적으로 데이타를 전송해 오고, 비는 시간에 데이타를 저장(버퍼)하고 있다가.

    메인이 주기적으로 스켄해 올때 즉각 메인이 전송해 줘야 합니다.

     

    즉 주기성요구와 비주기성의 데이타의 취득 문제는 비주기성의 데이타에 달려 있지 주기성 스캔에 달려있지 않습니다.

    그럼 비주기성 데이타를 꼭 실시간으로 요구할려면 886이 주 통신 주체가 되어서 메인에게 실시간으로 데이타를 전송하는 방법밖에 없습니다.

    물론 비주기성내에 수많은 주기성을 가진다면 비주기성 데이타가 변경되기전에도 메인에서 스캔을 할 수 있으니깐 이런 방식도 가능은 하겠습니다만,

    메인에서 주기성의 스캔 스피드를 올리면 통신 부하가 어마무시하게 올라갑니다. 결국 트레이드오프를 해야 합니다.

     

    그리고 비주기성의 최소 스피드가 결정이 되었다면,그 최소 스피드내에서 주기성 데이타를 스캔해 가면 별 무리는 없겠네요?

     

    이도 저도 아니고 혹 다른 방법은 886에서는 비주기성 데이타를 실시간으로 평균값을  버퍼에 두고 있다가

    메인에서 주기성 요구가 있을때 보내줘도 됩니다.

    여기서 평균방식은 여러가지가 있는데,적절한 평균방식으로 하시면 됩니다.(윈도우식으로 길게,짧게 평균내는 방식등등)

     

    도움이 되실런지? 참고로 저도 아직도 884를 사용중입니다.(예전에 사용하던 것이라 버릴 수는 없고해서 ㅎㅎㅎ)

     

하드웨어 설계 및 개발에 대하여 개발자들이 자유롭게 토론하는 공간입니다.
- Q&A, 자유주재 토론, 관련 정보 공유
- 분야 : 마이크로프로세서 응용, 전기/전자(아날로그/디지털) 회로 설계, C/C++ 프로그래밍, 펌웨어,
         PCB Artwork, 트러블슈팅 등 하드웨어 설계에 관한 전반인 내용
※ 게시글에 맞는 분류를 선택하여 글을 작성해 주시면 쾌적한 사이트 운영에 많은 도움이 됩니다.
※ 하드웨어 인사이트는 회원들간의 거래정보를 게재할 뿐이지, 그 어떤 책임과 의무도 가지지 않습니다.

search
번호 분류 제목 글쓴이 조회 수 날짜
106 펌웨어 & 코딩언어 객체지향프로그래밍4 끼르 347 2017.06.19
105 펌웨어 & 코딩언어 적외선 센서에 대한 질문입니다.3 jaemi2010 348 2016.02.25
104 펌웨어 & 코딩언어 구조체 포인터 캐스팅??1 기다려줄래 319 2015.07.10
103 펌웨어 & 코딩언어 matlab에서 작성된 m file을 c++로 변환하고 싶습니다.1 마린스토리 286 2014.04.28
102 펌웨어 & 코딩언어 HOTC언어로된 MPPT제어 프로그램 Code Vision 으로 변환하기 찰떡젤리 583 2014.04.21
101 펌웨어 & 코딩언어 HOTC 명령어 좀 상세히 알고 싶습니다1 jsp 404 2014.04.03
100 펌웨어 & 코딩언어 HOT피보나치 수열..2 aNitMotD 555 2013.10.30
99 펌웨어 & 코딩언어 HOT1D FEM coding 문제 ..원하는 답이 안나와요 수치해석미쵸 510 2013.09.29
98 펌웨어 & 코딩언어 HOTPIC 16F628A와 CCSC 기반의 프로그래밍 질문입니다. 제발 도와주세요ㅠㅠ 신천동주민 485 2013.09.24
97 펌웨어 & 코딩언어 HOT비주얼베이직 연산 및 줄바꿈에 대한 질문입니다.1 원할머니보고쌈 682 2012.11.07
96 펌웨어 & 코딩언어 c언어 질문인데요..3 하하하하히 395 2012.09.10
95 펌웨어 & 코딩언어 HOTC언어제어3 tbwnaoslwj1 654 2012.08.09
94 펌웨어 & 코딩언어 HOTmatlab 질문입니다.. 소다수1 416 2012.06.06
93 펌웨어 & 코딩언어 HOT-(C언어(함수호출)로 만든 크리스*마스*트리*프로그램)-1 리종순2 1478 2011.12.14
92 펌웨어 & 코딩언어 HOT외부 SRAM 컨트롤하는 것좀 도와주세요.1 쩡무 1382 2011.11.15
91 펌웨어 & 코딩언어 HOTunikey program 수정 jjhuem 1128 2011.10.11
90 펌웨어 & 코딩언어 HOTAtmega128에서 Reset 하는 방법 중 궁금한 점이 있습니다!!!4 공돌이의꿈 3163 2011.06.21
89 펌웨어 & 코딩언어 HOTC언어랑 matlab의 차이?1 약곰탱이 3528 2011.06.02
88 펌웨어 & 코딩언어 HOTVHDL 전가산기 설계 질문입니다. 나트륨 2992 2011.03.26
87 펌웨어 & 코딩언어 HOTC 배열이용해서 엑셀 데이터 끌어오는 방법???2 꼬꼴리 2123 2011.03.24
  • 일이 뜻대로 되지 않을 때는 나보다 못한 사람을 생각하라. 원망하고 탓하는 마음이 저절로 사라지리라.
    - 홍자성
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.