LabVIEW Embedded

cancel
Showing results for 
Search instead for 
Did you mean: 

EK-LM3S8962 (Luminary micro) access to QEI

Hi,

I got the evaluation board for the NI embedded ARM and I am trying to understand its capabilities. I used to use Atemel AVR and PICs microcontrollers to design my controlers using C programming language. I have done a couple of projects with LabView and it will be a great improvement for me if I can program the microcontrollers with LabView. So far I have done simple testing with my evaluation board and it looks great. But I couldn't access some of the resources on the controller, for example:.

 

  • LM3S8962 (Luminary micro) has two QEI (quadrature Encoder Interface) but I dont know how to read them or how to configure them to use.
  • HOw to configur the external interrupt, I found the timer interrupts but couldn't find any thing about other interrupts.

 

I appreciate your help

 

Davood

0 Kudos
Message 1 of 4
(7,299 Views)
  • LM3S8962 (Luminary micro) has two QEI (quadrature Encoder Interface) but I dont know how to read them or how to configure them to use.

 

Unfortunately, there is no support for QEI as of the LabVIEW 2009 release.  Expect this in the next release.  It is still possible to interact with the QEI peripheral, but it requires a driver-level understanding.  There is a luminary driver library, StellarisWare, which can be used to interact with QEI.  This library is already linked into your LabVIEW project, so you would just need to use inline C nodes to call the proper QEI functions.

 

 
void QEIEnable (unsigned long ulBase)
void QEIDisable (unsigned long ulBase)
void QEIConfigure (unsigned long ulBase, unsigned long ulConfig, unsigned long ulMaxPosition)
unsigned long QEIPositionGet (unsigned long ulBase)
void QEIPositionSet (unsigned long ulBase, unsigned long ulPosition)
long QEIDirectionGet (unsigned long ulBase)
tBoolean QEIErrorGet (unsigned long ulBase)
void QEIVelocityEnable (unsigned long ulBase)
void QEIVelocityDisable (unsigned long ulBase)
void QEIVelocityConfigure (unsigned long ulBase, unsigned long ulPreDiv, unsigned long ulPeriod)
unsigned long QEIVelocityGet (unsigned long ulBase)
  
  
  
  
  
  
 
  •  How to configure the external interrupt, I found the timer interrupts but couldn't find any thing about other interrupts.
 
These interrupts are configured much the same way as the timer interrupts.  The interrupt will fire when a rising/falling edge is detected on the corresponding pin.  I looked at the user manual for the MCB2300 (which I assume you are using here) and found the following map:
 
  • EINT0 = pin 76
  • EINT1 = pin 75
  • EINT2 = pin 73
  • EINT3 = pin 71

 

 

0 Kudos
Message 2 of 4
(7,295 Views)

 

 

i started to use the inline C node to make the QEI work, but i stocked on the first step, 

 

what is the ulBase address?

 

I couldnt find anything about it.

 

thanks

Davood

 

0 Kudos
Message 3 of 4
(6,828 Views)

Davood,

 

You're welcome to query the community here regarding the implementation of QEI functionality.  Just know that you might get a faster (and more detailed) response if you post to the forums of Luminary Micro/TI (for the LM3S8962 eval board) or Keil (for the MCB2300 eval board).

 

Luminary Micro Support Forums

Keil Discussion Forums

 

Kevin S.

Applications Engineer

National Instruments

0 Kudos
Message 4 of 4
(6,787 Views)