The serial pin LVDSOUT for the LVDS SERDES IP instance must be pulled up to the top level and cannot fan out to anything else - ip

I have a compile error in my Quartus 20.3 project that appears to be within the Intel-generated LVDS SERDES IP. Can you provide additional insight into what the following error indicates as root cause? I believe the complaint is about a connection within the Intel IP:
"The serial pin LVDSOUT for the LVDS SERDES IP instance dsi2_host_phy_top|phy_wrapper|tx_dphy_top|clk_lane_altera|lvds_0|core|arch_inst|channels[0].tx.serdes_dpa_isnt must be pulled up to the top level and cannot fan out to anything else."
This LVDS IP instance is configured as TX, 1 channel, SERDES factor=8 with external PLL.
Thanks.

There's a signal that comes out of that that SERDES IP block, specifically the LVDSOUT signal. The error is telling you that this signal cannot be connected to anything internal to your FPGA design. It can only be connected to the SERDES pin.
So for example, if you're trying to send the LVDSOUT pin to a flip-flop input, that could generate this error.
I would also recommend double-checking that the pin you're assigning to this signal is SERDES capable.

Related

ESP8266 connection to a Arduino Nano

I am trying to connect a WiFi module (ESP8266) to a "funduino" development board (Arduino Nano) but I have no success. Since I tried so much schematics I've found on the internet about the connection between them two, I kindly ask here if is anyone who succeed in "pairing" this two devices.
I am asking for the schematic and a functional source code.
Regards
The ESP-01 by default comes with nonOS SDK bootloader that communicated via AT commands, you can find the complete command set from Expressif here. This is designed for an MCU (like Arduino Nano) to use it purely as an WiFi module rather than using it as a stand-alone MCU (for which it will require NodeMCU SDK).
If you ever upload an Arduino sketch up to the ESP-01, it will erase the AT Command firmware.
Assuming your ESP-01 is still having the AT Command firmware. What #Ben provided is a sketch that allows you to type AT commands via the Serial Monitor to internact with the ESP-01, it is manual, and good for testing if ESP-01 is working (you type AT and press return on Serial Monitor, the ESP-01 will ack with Ok) but not practical as a real application. The minimum commands required to established an WiFi connection with ESP-01 is listed below.
AT+CIPMUX=1 - Enable single (0) or multiple connection (1) to the web server.
Multiple connection is a good option if you are repeatedly sending
out or reading data from the Internet.
AT+CWMODE=3 - Set WiFi mode: 1 is station mode (ESP8266 is client), 2 is AP mode
(ESP8266 acts like a WiFi router where your phone or PC can connect),
3 is AP+station mode (make the ESP8266 do both)
AT+CWJAP=“<your-ssid>”,”<your-pw>” - Connect to your WiFi. Provide your SSID name
and password inside the double qoutes.
AT+CIFSR - This returns the IP address of the module, indicating that it has
successfully connected to your WiFi router.
Once the WiFi connection is established, you can further communicate with the ESP-01 via the connection, like accessing a website for example:
AT+CIPSTART=0,"TCP", "www.example.com","80” - Start TCP or UDP connection. The
0 is the id of the connection.
AT+CIPSEND=0,16 - Command to tell the module data is ready to be sent. 0 is the
connection id, and 16 is the length of the data to be sent.
After this command, the ESP8266 will reply with the “>”
character to tell us that it will be waiting for the data to be
sent. If successful, the module will reply with “SEND OK”
GET / HTTP/1.1 - Send the http header, and other data, etc...
You can write your own sketch to automate those AT commands for interacting with with ESP-01 once you understand the AT commands required for establish a WiFi connection.
Here are two resources that I personally found extremely useful for doing more than connecting to WiFi.
STM32-ESP-01 Web Server - although this is for interfacing with STM32, the main difference is the pin assignment, so you should be able to port to Arduino easily.
MQTT via ESP-01
As for hardware interface, please noted that what #Ben provided is correct in principle, but you need to be aware that the ESP-01(ESP8266 to be precise) is a 3V3 MCU, so the connection is depended on what kind of host board you are using. If you are using Arduino Uno/Nano, both are having a 5V MCU, you will need a voltage divider (two resistors to drop the voltage to 3v3 before connecting to ESP-01) or a level shifter chip at least for the ESP-01 Rx pin to avoid the potential damage to the ESP-01.

Implementing I2C slave with FT201XB via USB

I've been trying to test a FT201XQ USB-I2C breakout board: UMFT201XB-01, so I can connect it to a master device such as an Arduino and sniff what that device is sending through I2C.
To see the output of the slave device I have successfully configured a Virtual COM PORT by installing the D2XX drivers provided by ftdchip.com. I can open the serial port through puTTY and everything seems fine in that regard.
Then, i've loaded the "master_writer" example on my Arduino, which sends 1 byte at a time to an address (0x22 is specified in the UM201XB-01 datasheet as the default address).
Nothing seems to happen in the COM port that i've earlier opened. Do I need to configure/program the FTDI device in some way? In that case, how can I do it, in a general way?
UMFT201XB-01 board http://www.ftdichip.com/Support/Documents/DataSheets/Modules/DS_UMFT201_220_230XB.pdf
Thank you in advance, and sorry if this is a "noob" question : P

UART Over IP - How to?

For a student project we have a device with a serial port (UART) wich communicate with a computer by wire.
As we want to make this system wireless (Device can be far far away from the computer), we had the idea to make the device communicate over IP ;
:
Device Serial port ==> UART/RJ45 converter ? ====> Router ===>Modem
Our question is mainly on the UART RJ45 converter. Does such device exist ? we saw some like this :
http://www.ecnmag.com/product-releases/2008/12/embedded-lan-module-connects-10/100baset-lans
But then how to adress the remote computer ? we would like to copy all traffic from the device and send it back to a specified port on our computer.
We also thought about changing the firmware of the router to OpenWRT to achieve this
Thanks in advance
... You could just get a raspberry Pi, which runs Linux and gives you low level access to a set of IO pins. Or use an Arduino with the Ethernet module. All of which are readily available and easy to procure. The Arduino and Ethernet modules are for sale at just about every Radio Shack these days.
Unless you have a need to communicate at speeds greater than around 100kbps, the above solutions should work fine.
Edit:
Note that there are Serial libraries available for the Pi:
https://projects.drogon.net/raspberry-pi/wiringpi/serial-library/
Finally I found a good solution thanks to you guys.
I ordered an Rasperry Pi which have IO pins as Wing Tang Wong said, including a set of Rx Tx pin functionning at 3,3v.
Our device work at 5v, so we are going to use a logical converter.
On the RPi we are going to use the ser2net package wich translate a serial input to a TCP/IP network signal ;)
Job done !
Thanks again

Good commuication practices via Serial Port (RS232)

I want to know some general communication strategies, which should be followed for a communication via COM (serial) Port.
I can read/write at the port, also can list all the available ports on the machine. I'm using Qt C++ with QSerialDevice. For testing on a windows machine with no physical serial port, I'm using VPSE (virtual port)
Typical Flow (assumed):
List all the available serial ports of the computer.
Find out at which port my device (micro-controller) is connected - how to do it?
Device found.
Start a thread for reading from the port, another thread for writing it.
Safely close connection
Finding out at which port the device is connected sounds challenging to me. How to achieve it? I guess, I will send a HELLO message to each ports, if my device replies a specific per-defined reply message I can be sure my device is connected at that port. Can I?
Also I think, to seperate threads are necessary because at any time I may receive message from the Micro-controller device.
Thanks for helping :)

Why don't I receive signal and status for WiFi using QSystemNetworkInformation

I wrote a piece of software which does nothing else than reading network status and signal strength for each network mode (gsm, wlan (wifi), bluetooth, ...) on my device (Nokia E51) and printing it out.
My test device is connected to bluetooth, wlan (wifi) and 3G (wcdma), but it's only able to give me the signal strength of 3G (and also returns the correct name of my carrier). for wlan and bluetooth it gives me the undefined state und isn't able to read any signal strenght. But I am able to receive the IP address of the network I'm connected via wlan.
All I do is:
QSystemNetworkInformation::networkSignalStrength(QSystemNetworkInformation::WlanMode);
and calling the method for the network status.
As I said, it works flawless for 3G.
Any ideas? Thanks a lot.
After an SDK update, everything works fine without any code changes. So the problem wasn't in the coede, but in the QtMobility backend.

Resources