element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
    About the element14 Community
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      •  Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Personal Blogs
  • Community Hub
  • More
Personal Blogs
NexGen Flight Simuator Flight Simulator 101 or back to college - part 5.1: Protocols
  • Blog
  • Documents
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: phoenixcomm
  • Date Created: 29 Dec 2012 8:38 PM Date Created
  • Views 435 views
  • Likes 1 like
  • Comments 0 comments
  • c
  • i2c
  • arduino_duemilanove
  • hardware
  • flight_simulation
  • protocols
  • max6955
  • message_passing
  • diy_cockpit
  • feature_tutorial
  • software
  • linux
Related
Recommended

Flight Simulator 101 or back to college - part 5.1: Protocols

phoenixcomm
phoenixcomm
29 Dec 2012

NexGen is a heterogeneous collection of computers, and embedded microprocessors. These possessors must all listen and talk together. To do this we must rely on some common language. This language is a protocol. There are different protocols for different jobs for instance we have: UDP, TCP, NTP, etc. And they have to be well defined, and understood by both parties. Protocols can be software or hardware based or a combination of both. The Wiki has lots of definitions of what a protocol is or is not so we will use a combination of their's. Our protocol should have the following features:

  • A protocol is a common means for unrelated objects communicate to with each other.
  • A protocol will define any data structures that it uses.
  • A protocol describes the syntax, semantics, of it's use. This is called it's API or Advanced/Application Programming Interface.
  • A protocol will have a formal description.
  • A protocol optional could be defined with Abstract Syntax Notation One (ASN.1). A pdf document of ASN.1 can be found here. image
  • A protocol must be well understood.
  • Protocols may include signaling, authentication and error detection and correction capabilities.
  • One protocol may be the foundation for another, such as Tcp/Ip or Udp/Ip. Where Ip is really the underlying protocol.
  • A protocol must be a public document.

 

There is one of our protocols, for one of our CDU's, Computer Display Unit. It is compriesed of several key components:image

  • The Keyboard. We will use a Ps2 keyboard for the keys.
  • The Switches. There are four of them 2 rotary, and 2 thumb wheel switches. the thumb wheel switches are BCD encoded, so we will encode the rotary switches with a priority encoder 74LS148.
  • The Display. The display is comprised of 5 alphanumeric displays, plus 13 additional seven segment display, and two tri-color leds. After looking around and finding 16 segment drivers (hardware) not very common we specified two(2) MAX6955 with an I2C interfaces.

Plus lets not forget about several other parts:

  • Some intelligence for our CDU. So we thought we would use a Arduino. There small and cheap.
  • Our Host. This is a program that runs on one of our Linux boxes.
  • A Client. This is program that runs on the Arduino talking to our Switches, Display, and Keyboard.

Know remember that thing called a protocol? So the questions are:

  1. How does the Arduino communicate with the Host?
  2. How does the Host communicate with the Arduino?
  3. How does the Arduino communicate with the Display?
  4. How does the Arduino communicate with the Keyboard?
  5. And lastly how does the Arduino communicate with the Switches?
  6. Oh, yes how does the Host talk to simulator?
  7. And how does the Host listen to the simulator?

 

image keep tuned in more to come

Cris ~

  • Sign in to reply
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2026 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube