Quantcast
Channel: Forums - Recent Threads
Viewing all 262198 articles
Browse latest View live

TLC59711 flashing when using Arduino's hardware-enabled SPI

$
0
0

I am using the TLC59711 LED driver to drive four RGD LEDs with an Arduino Uno, and I am experiencing LEDs flashing off momentarily, and somewhat randomly, while receiving new grayscale levels over the built-in SPI protocol of Arduino (2 MHz).  I purchased this kit from Adafruit.com, used their library for the TLC597111, and followed the tutorial found here: http://learn.adafruit.com/tlc5947-tlc59711-pwm-led-driver-breakout/overview

Alternatively, if I manually bit-bang the SPI channels (much slower at 70 kHz), there is no flickering observed. Running the unmodified example works fine, but if I change the Adafruit_TLC59711 constructor to use the built-in SPI function instead of bit-banging, the sketch still runs, but the LEDs will flash off periodically (for periods on the order of 1-10 ms).

//This constructor bit-bangs the SPI commands
//Adafruit_TLC59711 tlc = Adafruit_TLC59711(NUM_TLC59711, clock, data);

//This constructor uses the hardware SPI protocol, and causes LEDs to flicker.
Adafruit_TLC59711 tlc = Adafruit_TLC59711(NUM_TLC59711);

Can someone help me understand why using the built-in SPI causes flickering? I'd like to use the built-in SPI because it's much faster (2 MHz vs. 70 kHZ).

Thanks for any advice you can offer.

Setup:
- I have 4 RGB LEDs connected to the board.
- Current limit resistor is 1.98k, which is a 25mA limit.
- Connections below (followed Adafruit tutorial http://learn.adafruit.com/tlc5947-tlc59711-pwm-led-driver-breakout
- SDTI -> Arduino Digital 11 (MOSI)
- SCKI -> Arduino Digital 13 (SCK)
- VCC -> Arduino 3.3v
- GND -> Arduino GND
- VLED -> Arduino VIN (=4.1V)
- No connections on Arduino pins 10 and 12 (SS and MISO).
- SPI is communicating at 2 MHz (16 MHz clock divided by 8 )
- SPI mode 0 (default in SPI.cpp)

I scoped the SPI lines during a write and verified that the timing seems correct:

Arduino - Adafruit example - write and config byte1 (built-in SPI).png
SPI transaction - Write and config bits (Built-in SPI)



This is what it looks like with the stock example method, which is essentially bit-banging the SDTI and SCKI pins manually:

Arduino - Adafruit example - write and config byte1 (bit-bang) annotated.png
SPI transaction - Write and config bits (Bit-banged SPI)


Note that the configuration register is defined as follows:
OUT_TMG = 1, EXT_GCK = 0, TMG_RST = 1, DSP_RPT = 1, BLANK = 0 --> 10110b
(see page 21 of the datasheet for more info about these register bits.)

As far as I can tell, whether the TLC59711's output is working properly without flickering, or the output is occasionally going low for one cycle, the hardware SPI transaction looks identical.  That is to say, I verified that the grayscale data sent was correct, and the output from the TLC59711 was still 0.  So I'm stumped. 

Has anyone seen this before?

Here is a link to the datasheet http://www.ti.com/lit/ds/symlink/tlc59711.pdf.
The important data concerning communication protocol is on page 12 (SDTI and SCKI signals).

 

Code snippets:


TLC59711test.ino (Adafruit example sketch )


/*************************************************** 
  This is an example for our Adafruit 12-channel PWM/LED driver

  Pick one up today in the adafruit shop!
  ------> http://www.adafruit.com/products/

  These drivers uses SPI to communicate, 2 pins are required to  
  interface: Data and Clock. The boards are chainable

  Adafruit invests time and resources providing this open source code, 
  please support Adafruit and open-source hardware by purchasing 
  products from Adafruit!

  Written by Limor Fried/Ladyada for Adafruit Industries.  
  BSD license, all text above must be included in any redistribution
 ****************************************************/

#include "Adafruit_TLC59711.h"
#include <SPI.h>

// How many boards do you have chained?
#define NUM_TLC59711 1

#define data   11
#define clock  13

//Adafruit_TLC59711 tlc = Adafruit_TLC59711(NUM_TLC59711, clock, data);
Adafruit_TLC59711 tlc = Adafruit_TLC59711(NUM_TLC59711);

void setup() {
  Serial.begin(9600);
  
  Serial.println("TLC59711 test");
  pinMode(10, OUTPUT);
  tlc.begin();
  tlc.write();
}

void loop() {
 
  rainbowCycle(5);
}


// Slightly different, this makes the rainbow equally distributed throughout
void rainbowCycle(uint8_t wait) {
  uint32_t i, j;

  for(j=0; j<65535; j+=10) { // 1 cycle of all colors on wheel
    for(i=0; i < 4*NUM_TLC59711; i++) {
      Wheel(i, ((i * 65535 / (4*NUM_TLC59711)) + j) & 65535);
    }
    tlc.write();
    delay(wait);
  }
}

// Input a value 0 to 4095 to get a color value.
// The colours are a transition r - g - b - back to r.
void Wheel(uint8_t ledn, uint16_t WheelPos) {
  if(WheelPos < 21845) {
    tlc.setLED(ledn, 3*WheelPos, 65535 - 3*WheelPos, 0);
  } else if(WheelPos < 43690) {
    WheelPos -= 21845;
    tlc.setLED(ledn, 65535 - 3*WheelPos, 0, 3*WheelPos);
  } else {
    WheelPos -= 43690;
    tlc.setLED(ledn, 0, 3*WheelPos, 65535 - 3*WheelPos);
  }
}

Adafruit_TLC58711.cpp library

/*************************************************** 
  This is a library for our Adafruit 24-channel PWM/LED driver

  Pick one up today in the adafruit shop!
  ------> http://www.adafruit.com/products/1455

  These drivers uses SPI to communicate, 3 pins are required to  
  interface: Data, Clock and Latch. The boards are chainable

  Adafruit invests time and resources providing this open source code, 
  please support Adafruit and open-source hardware by purchasing 
  products from Adafruit!

  Written by Limor Fried/Ladyada for Adafruit Industries.  
  BSD license, all text above must be included in any redistribution
 ****************************************************/


#include <Adafruit_TLC59711.h>
#include <SPI.h>

Adafruit_TLC59711::Adafruit_TLC59711(uint8_t n, uint8_t c, uint8_t d) {
  numdrivers = n;
  _clk = c;
  _dat = d;

  BCr = BCg = BCb = 0x7F;

  pwmbuffer = (uint16_t *)calloc(2, 12*n);
}

Adafruit_TLC59711::Adafruit_TLC59711(uint8_t n) {
  numdrivers = n;
  _clk = -1;
  _dat = -1;

  SPI.setBitOrder(MSBFIRST);
  SPI.setClockDivider(SPI_CLOCK_DIV8);
  SPI.setDataMode(SPI_MODE0);
  BCr = BCg = BCb = 0x7F;

  pwmbuffer = (uint16_t *)calloc(2, 12*n);
}

void  Adafruit_TLC59711::spiwriteMSB(uint32_t d) {

// Bit-Banging method if (_clk >= 0) { uint32_t b = 0x80; // b <<= (bits-1); for (; b!=0; b>>=1) { digitalWrite(_clk, LOW); if (d & b) digitalWrite(_dat, HIGH); else digitalWrite(_dat, LOW); digitalWrite(_clk, HIGH); } } else {
// Arduino's hardware enabled SPI: SPI.transfer(d); } } void Adafruit_TLC59711::write(void) { uint32_t command; // Magic word for write command = 0x25; command <<= 5; //OUT_TMG = 1, EXT_GCK = 0, TMG_RST = 1, DSP_RPT = 1, BLANK = 0 -> 0x16 //OUT_TMG = 1, EXT_GCK = 0, TMG_RST = 0, DSP_RPT = 1, BLANK = 0 -> 0x12 //OUT_TMG = 0, EXT_GCK = 0, TMG_RST = 0, DSP_RPT = 1, BLANK = 0 -> 0x02 command |= 0x16; command <<= 7; command |= BCb; command <<= 7; command |= BCg; command <<= 7; command |= BCb; cli(); for (uint8_t n=0; n<numdrivers; n++) { spiwriteMSB(command >> 24); spiwriteMSB(command >> 16); spiwriteMSB(command >> 8); spiwriteMSB(command); // 12 channels per TLC59711 for (int8_t c=11; c >= 0 ; c--) { // 16 bits per channel, send MSB first spiwriteMSB(pwmbuffer[n*12+c]>>8); spiwriteMSB(pwmbuffer[n*12+c]); } } if (_clk >= 0) { //digitalWrite(_dat, LOW); delayMicroseconds(200); } else delayMicroseconds(2); sei(); } void Adafruit_TLC59711::setPWM(uint8_t chan, uint16_t pwm) { if (chan > 12*numdrivers) return; pwmbuffer[chan] = pwm; } void Adafruit_TLC59711::setLED(uint8_t lednum, uint16_t r, uint16_t g, uint16_t b) { setPWM(lednum*3, r); setPWM(lednum*3+1, g); setPWM(lednum*3+2, b); } void Adafruit_TLC59711::setLED(uint8_t lednum, uint16_t rgb[3]) { setPWM(lednum*3, rgb[0]); setPWM(lednum*3+1, rgb[1]); setPWM(lednum*3+2, rgb[2]); } boolean Adafruit_TLC59711::begin() { if (!pwmbuffer) return false; if (_clk >= 0) { pinMode(_clk, OUTPUT); pinMode(_dat, OUTPUT); } else { SPI.begin(); } return true; }


Arduino's SPI.cpp

/*
 * Copyright (c) 2010 by Cristian Maglie <c.maglie@bug.st>
 * SPI Master library for arduino.
 *
 * This file is free software; you can redistribute it and/or modify
 * it under the terms of either the GNU General Public License version 2
 * or the GNU Lesser General Public License version 2.1, both as
 * published by the Free Software Foundation.
 */

#include "pins_arduino.h"
#include "SPI.h"

SPIClass SPI;

void SPIClass::begin() {

  // Set SS to high so a connected chip will be "deselected" by default
  digitalWrite(SS, HIGH);

  // When the SS pin is set as OUTPUT, it can be used as
  // a general purpose output port (it doesn't influence
  // SPI operations).
  pinMode(SS, OUTPUT);

  // Warning: if the SS pin ever becomes a LOW INPUT then SPI
  // automatically switches to Slave, so the data direction of
  // the SS pin MUST be kept as OUTPUT.
  SPCR |= _BV(MSTR);
  SPCR |= _BV(SPE);

  // Set direction register for SCK and MOSI pin.
  // MISO pin automatically overrides to INPUT.
  // By doing this AFTER enabling SPI, we avoid accidentally
  // clocking in a single bit since the lines go directly
  // from "input" to SPI control.  
  // http://code.google.com/p/arduino/issues/detail?id=888
  pinMode(SCK, OUTPUT);
  pinMode(MOSI, OUTPUT);
}


void SPIClass::end() {
  SPCR &= ~_BV(SPE);
}

void SPIClass::setBitOrder(uint8_t bitOrder)
{
  if(bitOrder == LSBFIRST) {
    SPCR |= _BV(DORD);
  } else {
    SPCR &= ~(_BV(DORD));
  }
}

void SPIClass::setDataMode(uint8_t mode)
{
  SPCR = (SPCR & ~SPI_MODE_MASK) | mode;
}

void SPIClass::setClockDivider(uint8_t rate)
{
  SPCR = (SPCR & ~SPI_CLOCK_MASK) | (rate & SPI_CLOCK_MASK);
  SPSR = (SPSR & ~SPI_2XCLOCK_MASK) | ((rate >> 2) & SPI_2XCLOCK_MASK);
}

Arduino's SPI.h

/*
 * Copyright (c) 2010 by Cristian Maglie <c.maglie@bug.st>
 * SPI Master library for arduino.
 *
 * This file is free software; you can redistribute it and/or modify
 * it under the terms of either the GNU General Public License version 2
 * or the GNU Lesser General Public License version 2.1, both as
 * published by the Free Software Foundation.
 */

#ifndef _SPI_H_INCLUDED
#define _SPI_H_INCLUDED

#include <stdio.h>
#include <Arduino.h>
#include <avr/pgmspace.h>

#define SPI_CLOCK_DIV4 0x00
#define SPI_CLOCK_DIV16 0x01
#define SPI_CLOCK_DIV64 0x02
#define SPI_CLOCK_DIV128 0x03
#define SPI_CLOCK_DIV2 0x04
#define SPI_CLOCK_DIV8 0x05
#define SPI_CLOCK_DIV32 0x06
//#define SPI_CLOCK_DIV64 0x07

#define SPI_MODE0 0x00
#define SPI_MODE1 0x04
#define SPI_MODE2 0x08
#define SPI_MODE3 0x0C

#define SPI_MODE_MASK 0x0C  // CPOL = bit 3, CPHA = bit 2 on SPCR
#define SPI_CLOCK_MASK 0x03  // SPR1 = bit 1, SPR0 = bit 0 on SPCR
#define SPI_2XCLOCK_MASK 0x01  // SPI2X = bit 0 on SPSR

class SPIClass {
public:
  inline static byte transfer(byte _data);

  // SPI Configuration methods

  inline static void attachInterrupt();
  inline static void detachInterrupt(); // Default

  static void begin(); // Default
  static void end();

  static void setBitOrder(uint8_t);
  static void setDataMode(uint8_t);
  static void setClockDivider(uint8_t);
};

extern SPIClass SPI;

byte SPIClass::transfer(byte _data) {
  SPDR = _data;
  while (!(SPSR & _BV(SPIF)))
    ;
  return SPDR;
}

void SPIClass::attachInterrupt() {
  SPCR |= _BV(SPIE);
}

void SPIClass::detachInterrupt() {
  SPCR &= ~_BV(SPIE);
}

#endif

 

 

 


TMDSPLCKIT

$
0
0

Welcome to the discussion about PLC technology and PLC solutions from TI

DMDs that can be used with the DLPC2607

$
0
0

The DLPC2607 supports the following DMDs:

0.2 nHD DDR Series 230 DMD

0.24 VGA EM DDR Series 240 DMD

0.3 WVGA DDR Series 220 DMD

0.3 WVGA EM DDR Series 242 DMD

 

About C6670 PCIe Device ID

$
0
0

Hi,

I have a question about C6670 PCIe.

I'm searching for PCIe Device ID.
In Keystone PCIe User Guide(sprugs6d) page.140 Table 3-104,
it's written as follow:
//////////////////////////////////////////////////////////////
PCIe Device ID. Writable from internal bus interface.
See the device-specific data sheet for the value.
//////////////////////////////////////////////////////////////

But I can't find the Device ID from C6670 Datasheet.
What is the value for C6670 PCIe Device ID?

best regards,
g.f.

ADS1248 Bipolar power supply

$
0
0

I am using the ADS1248 with bipolar power supplies (+-2.5V). My schematic is based on the proposed schematic found here:

http://e2e.ti.com/support/data_converters/precision_data_converters/f/73/t/222313.aspx

Questions:

1) Do I have to enable the VBIAS when measuring thermocouples (Both grounded and ungrounded)? as VBIAS is midpoint between the 2 power supplies? Is using a single ended configuration better?

2) Is it ok to measure 3 wire RTD with the VREF resistor on the high side as in the schematic, or should I change the schematic to use the low side. Do I connect the ref resistor to ground or -2.5V?

You help is appreciated.

Regards,

Franz

BeagleBoneBlack VNC server autoStart with password

$
0
0

Hi all,

I'm starting to develop my custom cape based on BBB and Texas JB 4.2.2 sdk. I need to start a (password) protected VNC server session every time on boot.

I am able to:

  • $ 'start androidvncserver'
  • $ or 'androidvncserver -p <mypassword>'
  • or into init.rc: 'start androidvncserver'

but I can't into init.rc add: 'androidvncserver -p <mypassword>'

How can I launch VNC server with password automatically at boot?

thank you in advance

Francesco.

Measuring period and phase of two square-wave signals with the Concerto microcontrollers

$
0
0

Hi,


I plan to use a Concerto microcontroller for my next project.


Here I have to measure two square wave signal with the same frequency (100kHz - 200kHz). Is there a chance to use the ECAP inputs two measure the frequency and the phase delay between both signals?


Thanks,

Kalle

CC2541 32MHz crystal fails to stabilize - Production Stop

$
0
0

Hey guys,


I have a customer who is observing a 20-25 % failure rate with his lamp product that has come off the production line. The CC2541 firmware is getting stuck in a loop waiting for the 32 MHZ oscillator to stabilize. The code is lifted directly out of TI example projects so I don't think that the software is really the issue.

A couple of details:


- The crystal they are using now is not the same crystal used in their 20 prototype boards (which worked). The crystal they previously used that functioned correctly was the CTS 403C11A32M0000. The oscillator is stuck at a DC voltage in lamps that don't work.

- He is also concerned about solder/joint quality on the thermal/analog ground pad to the PCB. Everything seems to be connected correctly but he is also looking into the specifics (stencil pattern, thickness) to see how much solder paste needs to be applied.

- A few other pieces of interesting information are that: 1) some units seem to be "on the edge" and can start or stop running over time; 2) some stuck units can be made to start by heating the crystal or CC2541 a bit with a soldering iron; 3) some stuck units seem to "get better" either by themselves or by #2 and continue to function correctly for a couple days; and 4) some units that do run have difficulty with Bluetooth connections.

I asked the customer to elaborate on what he meant by "difficulty with Bluetooth connections' since this could be a myriad of things. I also asked him to double-check on the BOM to see if there were any other discrepancies, besides the crystal, in his final product compared to the functioning prototype.


Lastly, this E2E post said that you should ensure the load capacitor on the 32 MHZ clock is 10 pF or greater. This is indeed the case with my customer so I don't think this is the cause of his issues either.


Any support that can be provided is much appreciated!


Best,

Sean


Daylight saving time support with CCS time.h

$
0
0

Hi,

I use the time.h from Code Composer Studio. Using UTC it worked fine for converting a timestamp to struct tm and back.
For a actual project localtime() should include daylight saving for the local timezone.

I've tried with _tz from time.h without success

    _tz.daylight = 1;
    _tz.timezone = 3600;
    _tz.dstname[0] = 'C';
    _tz.dstname[1] = 'E';
    _tz.dstname[2] = 'T';
    _tz.dstname[3] = 0;
    _tz.tzname[0] = 'C';
    _tz.tzname[1] = 'E';
    _tz.tzname[2] = 'T';
    _tz.tzname[3] = 0;

Where can I find Information how to use dstname[] fom CCS time module ? How can I use localtime() with daylight saving time on my MSP430 ? Thanks !

Regards,
Martin

MSP430F5232: 4-pin JTAG mode

$
0
0

Hi. 

On MSP430F5232, I am planning to use “4-pin JTAG mode”. I want to confirm which signals need to be used to enable this mode. Beside four JTAG signals (TDO, TDI, TMS, TCK), two control signals seem to be the right ones: RSTDVDD/SBWTDIO & TEST/SBWTCK.

I believe I need to use TEST signal for sure. How about SBWTDIO signal? The description in the datasheet (SLAS897-Sept.2013) says “SBWTDIO is required to interface with MSP430 development tools and device programmers”. So, do I need to control SBWTDIO from the FPGA as well as TEST signal?

By the way, there a description on this issue in the forum’s thread called “MSP430F5510 4-wire JTAG entry sequence question”. It says “The 4-wire JTAG interface access is enabled by pulling the SBWTDIO line low and then applying a clock on SBWTCK (TEST).” Does it mean that “pulling SBWTDIO low” is a pre-condition of enabling 4-wire JTAG interface? If so, can I simply tie SBWTDOP to the GROUND while routing TEST (SBWTCK) to the FPGA?

Thank you. 

I2C of CC2541 shows erroneous spikes at SDA, SCL

$
0
0

I want to use the HW-based I2C peripheral of the CC2541 as master. Therefore I connected a scope to SDA and SCL to prepare a measurement setup for debugging later on. I was very surprised when I saw spikes every 20 ms; I did not write my I2C code yet. I implemented already a GPIO IRQ every 20 ms; therefore I assume these spikes are a result from the CC2541 terminating sleep (PM2). Without sleep there are no spikes.

Normally both SDA and SCL are "high" (no activity at I2C). During a spike both SDA and SCL go simultaneously to "Low" for exactly 250 ns. This is definitely no start or stop condition. 

I tried all possible settings of the P2 configuration registers, but no setting showed any influence to these spikes.

Currently it seems that my I2C slaves will not be distracted by these spikes; but I am not sure what happens if such a spike will fall into an I2C write or read telegram.

Question 1: Did anybody observed these spikes, too?

Question 2: Is it possible that the CC2541 I2C peripheral will transmit a byte over I2C during sleep (PM1 or PM2)? Or is the CC2541 active always during I2C activity?

Kind regards

Thomas Treyer

Reverse Battery Protection for the LP3996

$
0
0

Hi, so I am interested in using the LP3996, which is a dual output LDO regulator. I am wondering about how to do reverse battery protection though, as the datasheet doesn't say anything about that.

The device has EN pins which shut the device down when they are pulled low. If I tie both EN pins to VDD, will this provide reverse battery protection, or will the device be destroyed? I am planning to use a single cell Li-ion battery, so the reverse voltage is up to about 4.4V.

The datasheet is here: http://www.ti.com/lit/ds/symlink/lp3996.pdf

cc430 different voltages leads to slightly different frequencies. why?

$
0
0

Hi,

I'm using two EM430F6137RF900 boards with crystals installed and powered with different voltages. The first one is battery powered (3v) and the second one is powered from a regulated power supply  with 2V.

The PMMCOREV  is set to 1

I mapped the Timer_A (sourced from ACLK->XT1) compare output to a port  where I can visualize it by using a scope. Same firmware is running in both devices.

By making a comparison between signals it is obvious that when the boards are powered with different voltages, the frequency of the timers becomes slightly different making very difficult to maintain a synchronization between them.

If I increase the voltage from the power supply the drift between devices decrease until becomes 0.

Is this a normal behavior? Why?

Thanks

TVP5158 chip ID regs

$
0
0

We are having problems reading The Chip IDs of the TVP5158 in order to verify operation. We have followed the datasheet according to the reset requirement and have verified the I2C layer protocol. Both have checked out, however we cannot get a consistent read of the Chip ID regs.


After reset we attempt to read the Chip ID regs (0x08 & 0x09) immediately. Is that correct or are there other regs that need to be setup before reading the Chip IDs? What would be another register that could be used to verify proper installation? Can anyone provide a code example of bringing a TVP5158 out of reset properly?


Thank You,

-BL

TM4123GH6PGE USB device not recognized

$
0
0

Hello,

 

I have been developing a USB bulk device application for the TM4123GH6PGE.  I have been using the LM4F232H5QD Evaluation board and we have recently had a prototype board made for our device using the TM4123GH6PGE.  The problem is that when I run the application on the prototype, windows does not recognize the USB device and creates an unknown device with error code 43.

 

When I look at the properties of the device in windows, the hardware and vendor ids are both zero.  I do know that when the bootloader runs the DFU device does appear correctly in windows and flash programming can be completed without issue.  If my device attempts to switch to DFU mode, that does not work either and the same unknown device appears in windows.  I can get the DFU device to be recognized by windows by erasing flash which forces the bootloader to run.

 

The main difference in the hardware for our design is we are using the standard USB cable with a 6-pin B side, as opposed to the micro-B connector used on the eval board.  The connector has no direct connection to PB0 USB0ID because we are not attempting to use OTG mode, and the documentation implies that when set as a device, this pin can be left floating.  Pins 4,  5, and 6 are grounded, pin 1 is connected directly to VBUS, pin2 to USB0DM, and pin3 to USB0DP.

 

I am having difficulty determining why I cannot run the same code that runs on the eval board on the prototype board.  I believe the design of the board is correct because the DFU device works exactly as it should when started by the bootloader.  Any help would be greatly appreciated. 

 

Jon

 


MSP430F2132 internal oscillator jitter

$
0
0

Here is the problem. We need to use a timer to sync to an input signal frequency. We have the timer running at 2Mhz and with 16 bits, we should be able to get down to .5 us resolution.

So we will expect to see a small drift. But this is not what I am seeing. The clock appears to have about 25us of high freq jitter and about 10-15us low freq jitter. So the problem is that we can not pick a value that will keep us in the .5us range. To prove this, we connected an external 8 Mhz xtal. With this xtal, I can find a value that keeps the drift down to 325us per minute, that's a 5us drift per second. This is what we need.

So, first can we get a specification on the internal oscillator jitter?

Also, is there an app note on improving the quality of the oscillator?

Code Generation tools

$
0
0

Hello,

after some Installation problems  resolve with Lisa TI (Thanks Lisa) I have now compilation Problems.

I have this message after the compilation:

This project was created using a version of Code Generation tools that is not currently installed: 5.2.2 [C2000]. Please install the Code Generation tools of this version, or migrate the project to one of the supported versions.

VLIB library function input attribute modification request

$
0
0

Hi, 

Currently we have the need to withdraw Luma (Y domain) from a YUV422 color format for

image processing. The VLIB2.2 has the API VLIB_extractLumaFromUYUV () comes in handy.

However, the input color format for our platform is limited to YUYV instead of UYUV.

Would it be possible that TI provides the API VLIB_extractLumaFromYUYV ();

My platform info: TMS320DM8148 (Vision-Mid) 

600-MHz ARM® Cortex™-A8 RISC MPU

500-MHz C674x™ VLIW DSP

200-MHz M3-ISS/M3-HDVPSS 

Thanks in advance,

Joey Lin

USB Host Problem Concerto Revision B

$
0
0

Hi folks,

I'm back again with an USB problem: We have changed our concerto (F28M35H52C) from revision 0 to the revision step B and my USB host mode does not work! We did not do any changes in the hardware, just replaced the microcontroller! The errata sheet lists three problems fixed in the current step but to me these don't tangent my problem. What happens?

As far as I have started debugging I can say that the USB is not configurated in host mode anymore! After the initialization functions the bit HOSTMODE in the register USBDEVCTL is not set and the bit DEV is toggling.
I use the identical software! I will go now debugging into the library sources...

I work with the usblib version 160 since the version 201 does not work (see )
I have tested the new usblib as well but it did not work either. The program will not stall since the library functions do not enumerate the device because the USB controller is not working as a USB host...

Any suggestions?

Regards,
Stefan

Loading custom firmware onto TSW1400

$
0
0

Hi,

After receiving the Verilog code for TSW1400 + DAC34SH84 from Ebenezer a few weeks back, I first compiled the code as-is using Quartus 13.1, and loaded it onto the TSW1400 simply by loading the raw bit file (.rbf) through the GUI. That doesn't work, it loads the firmware but then states that no firmware was loaded. I did modify the DAC34SH84.ini file to point to the "tsw1400_top" file instead of the "DAC_SAMPLE_WISE", so the GUI loaded my compiled file automatically, but it still did not recognize is as proper firmware once loaded.

The compiled .rbf file is also significantly smaller than the ones that came with the HSDCPro GUI, about 2 MB compared to 5.8 MB for the other bit files. Should the project that I was sent compile into a usable firmware bit file, or is something else required? Thanks again,

Daaf

Viewing all 262198 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>