Programmers for AVR microcontrollers (USB, COM, LPT). What is the ISPS fee and why is it charged? Isp decryption




In fact, you are already familiar with this concept. ISP, abbreviated from English as “internet service provider”, means “Internet service provider” or is otherwise called “Internet service provider” (or simply provider). He, in turn, is an organization engaged in providing such goods as access to the global network. This could include connections via a home phone or fiber optic cable, wireless networks, equipment rentals, and many other things related to the World Wide Web. As you may have noticed, this concept has long been familiar to you. It just got a more or less “scientific” name.

Each Internet user has encountered Internet providers at least once in his life.

How can I connect to the Internet?

Almost every small and large city has Internet providers. The same Rostelecom, for example, is an Internet service provider. It turns out that in order to have a network installed in your house or apartment, you just need to write an application at one of the points of sale. If you do not know the address, the following sources of information will come to your aid:

  • They will find you themselves. No matter how funny it may sound, the proverb “If the mountain does not come to Magomed, then Magomed goes to the mountain” describes this situation very well. Nowadays there is practically no living space without access to the global network. Providers have a lot of competition, so they themselves try to find new users. So, most often, the team of a particular company will visit your home, presenting the services of their company. At the very least, they hang advertising flyers, banners, and all kinds of posters everywhere, so you won’t lose sight of them.
  • A television. There are often advertisements on TV where you can see the location address or telephone number of the help desk of the required provider.
  • Internet. It’s a slight paradox, but you can find almost any information on the World Wide Web. Take a smartphone or ask a friend, and he will definitely find you the necessary addresses and phone numbers.

Well, now you know how to find a provider (if for some unknown reason he still hasn’t found you). You also need to familiarize yourself with some tips that will help you do everything right. It is important to choose the optimal tariff plan. Most often, the organization’s employees themselves will do this for you, suggesting prices and the speed provided. If your connection is via ADSL, it is important to know what speed the installed cable can handle. That is, if you connect at a speed of 70 Mbit/s, but the cable only supports 20 Mbit/s, then there is no point in overpaying.

It is also worth noting the use of routers. Most often, providers offer their own modems (with Wi-Fi support). But you can refuse and purchase a completely different one in the store (suitable for more experienced users). At home, such a router will suffice, so don’t worry about it.

Connecting and setting up ISP

Typically, ISP installation is carried out by employees of the organization that will subsequently provide you with Internet services. Therefore, setting up and connecting should not fall on your fragile shoulders. However, there are cases when a company offers such “help” for a fee (maybe even more). Therefore, just in case, read the short instructions that will help you learn how to install an ISP connection.

  1. It is worth noting that the provider itself will install the cable into the house. That is, you do not need to deal with this issue. If it is fiber optic, then you will need to plug the cord into your router or modem, or directly into your computer's network adapter (if you only need to connect one device).

  1. In private homes, ADSL cable is most often used. In this case, you will need to run a cord from your home phone to the router, and then proceed to the settings.

  1. All modern providers supply not only a modem, but also an installation disk that will help you make the connection.

  1. You will need to insert it into the computer's disk drive and simply follow the instructions on the screen, which will help you do everything correctly and clearly.
  2. After this, you will be able to go online and use all its services. The setup is complete at this point.

Conclusion

Today you learned about what an ISP connection is and how to set it up. As you can see, this turned out to be a simple Internet connection that is provided to you by your Internet Service Provider. Enjoy using it, friends! We share information with other users in the comments about which provider you use.


Sometimes ISP.js and other JS system errors can be related to problems in the Windows registry. Several programs can use the ISP.js file, but when those programs are uninstalled or modified, sometimes "orphaned" (incorrect) JS registry entries are left behind.

Basically, this means that while the actual path of the file may have changed, its incorrect former location is still recorded in the Windows Registry. When Windows tries to look up these incorrect file references (file locations on your PC), ISP.js errors can occur. Additionally, malware infection may have corrupted the registry entries associated with MSDN Disc 1846. Therefore, these corrupted JS registry entries need to be fixed to fix the problem at the root.

Manually editing the Windows registry to remove invalid ISP.js keys is not recommended unless you are PC service professional. Mistakes made when editing the registry can render your PC inoperable and cause irreparable damage to your operating system. In fact, even one comma placed in the wrong place can prevent your computer from booting!

Because of this risk, we highly recommend using a trusted registry cleaner such as WinThruster (Developed by Microsoft Gold Certified Partner) to scan and repair any ISP.js-related registry problems. Using a registry cleaner, you can automate the process of finding corrupted registry entries, missing file references (such as the one causing the ISP.js error), and broken links within the registry. Before each scan, a backup copy is automatically created, allowing you to undo any changes with one click and protecting you from possible damage to your computer. The best part is that eliminating registry errors can dramatically improve system speed and performance.


Warning: Unless you are an experienced PC user, we DO NOT recommend manually editing the Windows Registry. Using Registry Editor incorrectly may cause serious problems that may require you to reinstall Windows. We do not guarantee that problems resulting from incorrect use of Registry Editor can be corrected. You use Registry Editor at your own risk.

Before you manually repair the Windows registry, you need to create a backup by exporting a portion of the registry related to ISP.js (for example, MSDN Disc 1846):

  1. Click on the button Begin.
  2. Enter " command" V search bar... DON'T CLICK YET ENTER!
  3. While holding down the keys CTRL-Shift on your keyboard, press ENTER.
  4. A dialog box for access will be displayed.
  5. Click Yes.
  6. The black box opens with a blinking cursor.
  7. Enter " regedit" and press ENTER.
  8. In the Registry Editor, select the ISP.js-related key (for example, MSDN Disc 1846) that you want to back up.
  9. On the menu File select Export.
  10. On the list Save to Select the folder where you want to save your MSDN Disc 1846 key backup.
  11. In field File name Enter a name for the backup file, for example "MSDN Disc 1846 backup".
  12. Make sure the field Export range value selected Selected branch.
  13. Click Save.
  14. The file will be saved with extension .reg.
  15. You now have a backup of your ISP.js-related registry entry.

The following steps for manually editing the registry will not be described in this article, as they are likely to damage your system. If you would like more information about editing the registry manually, please check out the links below.

A program for a microcontroller is written in any convenient programming language, compiled into a binary file (or a file in Intel HEX format) and uploaded to the microcontroller using a programmer.

So, the first step in mastering a microcontroller is usually a programmer. After all, without a programmer it is impossible to put a program into a microcontroller and it will remain a lifeless piece of silicon.

What is this device?
In the simplest case, a programmer is a device that connects a microcontroller and a computer, allowing you to upload a firmware file from the computer into the controller’s memory. You also need a firmware program that will transfer data into the microcontroller using a special protocol.

There are different programmers for different families of controllers, there are their own programmers. However, there are also universal ones. Moreover, even the simplest AVR can be flashed in several ways:

In Circuit Programming (ISP)
The most popular way to flash modern controllers. This method is called in-circuit because the microcontroller at this moment is in the circuit of the target device - it can even be tightly soldered there. In this case, several controller pins are allocated for the needs of the programmer (usually 3..5 depending on the controller).

The programmer's flashing cord is connected to these pins and the firmware is uploaded. After which the cord is disconnected and the controller starts working.
For AVR, the firmware is uploaded via the SPI interface and for the programmer to work, you need four lines and power (only ground is enough to equalize the ground potentials of the programmer and the device):

  • MISO - data coming from the controller (Master-Input/Slave-Output)
  • MOSI - data going to the controller (Master-Output/Slave-Input)
  • SCK - SPI interface clock pulses
  • RESET - with a signal to RESET, the programmer enters the controller into programming mode
  • GND - ground

The in-circuit programming connector itself is just a few pins. If only it was convenient to put the connector on it. Its configuration can be whatever is most convenient for you.
However, there is still one popular standard:


There are dozens of different programmers for in-circuit firmware of AVR controllers. They differ primarily in operating speed and type of connection to the computer (COM/LPT/USB). They can also be brainless or with their own control controller.

Brainless programmers are usually cheap and very easy to manufacture and set up. But at the same time, they usually work exclusively through archaic COM or LPT ports. Which is a real problem to find in a modern computer. They also require direct access to ports, which can already be a problem in Windows XP. Plus there is a dependence on the clock frequency of the computer processor.

So your 3GHz ten-core monster can fly like plywood over Paris.

The ideal computer for working with such programmers is some PIII-800Mhz with Windows98...XP.
Here is a very short selection of personally tested brainless programmers:


Programmers with a control controller are free from many of the problems of brainless people. They work via USB without any problems. And if they are assembled on a COM port, then without perverted methods of working with data - like an honest COM port. So COM-USB adapters work with a bang. And you can select larger parts to make soldering easier. But these programmers have another problem - in order to make such a programmer, you need another programmer to flash the control controller for it. Chicken and egg problem. Programmers such as:

  • AVRDOPER
  • AVR910 Protoss

In-circuit programming, despite all its conveniences, has a number of limitations.
The microcontroller must be running, otherwise it will not be able to respond to the programmer signal. Therefore, if you set the configuration bits (FUSE) incorrectly, for example, switch to an external quartz resonator, but do not install the quartz itself. Then the controller will not be able to start and it will no longer be possible to flash it in-circuit. At least until MK is launched.
Also, in the configuration bits, you can disable the in-circuit firmware mode or convert the RESET pin into a regular I/O port (this is true for small microcontrollers in which RESET is combined with the port). This action also cuts off ISP programming.

Parallel high voltage programming
It is usually used in mass production for mass (hundreds of pieces) flashing of chips in a programmer before sealing them into the device.

Parallel programming is many times faster than serial programming (ISP), but requires a voltage of 12 volts to be applied to RESET. And also for parallel firmware, not 3 data lines are required, but eight + control lines. To program in this mode, the microcontroller is inserted into the programmer socket, and after flashing the firmware, it is moved to the target device.

It is not particularly needed for amateur radio practice, because An ISP programmer solves 99% of pressing problems, but nevertheless a parallel programmer can come in handy. For example, if as a result of erroneous actions the FUSE bits were set incorrectly and the ISP mode was disabled. The parallel programmer doesn't give a damn about setting FUSE. Plus, some older models of microcontrollers can only be flashed with a high-voltage programmer.
Of the parallel programmers for AVR, the only ones that come to mind are:

  • HVProg by ElmChan
  • Paraprog
  • DerHammer

There are also universal ones like TurboProg 6, BeeProg, ChipProg++, Fiton, which can flash a huge number of different microcontrollers, but they are also quite expensive. 10-15 thousand. Mainly needed only by repairmen, because... When you don’t know what they’re going to bring to you for repairs tomorrow, you have to be prepared for anything.

Firmware via JTAG
At all JTAG This . It allows you to execute your program step by step right in the crystal. But with its help you can flash the program or insert FUSE bits. Unfortunately, JTAG is not available in all microcontrollers, only in older models in 40-legged microcontrollers. Starting from Atmega16.

The AVR company sells a proprietary JTAG ICEII kit for working with microcontrollers via JTAG, but it (like any professional tool) is not cheap. About 10-15 thousand. There is also the first JTAG ICE model. You can easily make it yourself, and it is also built into my demo board.


Firmware via Bootloader
Many AVR microcontrollers have a self-flashing mode. Those. Initially, a special program - bootloader - is sewn into the microcontroller using any of the above methods. Further, the programmer is not needed for reflashing. It is enough to reset the microcontroller and give it a special signal. After which it enters programming mode and the firmware is uploaded into it via a regular serial interface. Described in more detail in.
The advantage of this method is that when working through a bootloader it is very difficult to screw up the microcontroller so much that it will not respond at all. Because FUSE settings for bootloader are not available.

The bootloader is also flashed by default into the main controller of the demo board to facilitate and secure the first steps on the path to mastering microcontrollers.

Pinboard II
AVR firmware using the Pinboard II demo board (everything is similar for Pinboard 1.1)

Services module

View a list of services

  • Name- name of the service.
  • State- graphical indicator of service activity and automatic restart.
- the service is started. - the service has stopped. - the service has been added to autostart. - service monitoring using Watchdog.

Starting the service

To start a service, select it in the list and click the "Start" button in the toolbar. To prevent accidental actions, the control panel will ask you to confirm or cancel your action. If you click “Ok” in the confirmation window, the selected service will be started.

Stopping a service

To stop a service, select it in the list and click the Stop button in the toolbar. To prevent accidental actions, the control panel will ask you to confirm or cancel your action. If you click “Ok” in the confirmation window, the selected service will be stopped.

Restarting the service

To restart a service, select it in the list and click the "Restart" button in the toolbar. To prevent accidental actions, the control panel will ask you to confirm or cancel your action. If you click “Ok” in the confirmation window, the selected service will be restarted.

Add a service to autostart

If you want the service to start automatically after a system reboot, select it in the list and click the "On" button. To prevent accidental actions, the control panel will ask you to confirm or cancel your action. If you click “Ok” in the confirmation window, the selected service will be added to autostart.

Remove a service from startup

If you want to remove a service from autostart, select it in the list and click the "Off" button. To prevent accidental actions, the control panel will ask you to confirm or cancel your action. If you click “Ok” in the confirmation window, the selected service will be removed from autostart.

Add a service to monitoring

To track the health of a service, select it in the list and click the "Add" button.

  • Service name- the name of the service defined in the system.
  • Process name- the name of the process for monitoring service monitoring; if this parameter was defined in the list of displayed services, then this value will be loaded automatically.
  • Service type- defines the method for monitoring the state of the service (see Monitoring operation).
  • Set your own parameters- the presence of this checkbox means that the user must independently indicate the IP address and Port on which the service runs.
  • IP address- IP address on which the service is running.
  • Port number- the port on which the service runs.

Module "Service settings settings"

Remove a service from monitoring

To remove a service from monitoring, select it in the list and click the "Delete" button. To prevent accidental actions, the control panel will ask you to confirm or cancel your action. If you click “Ok” in the confirmation window, the selected service will be removed from monitoring.

Many people wonder how the provider’s network is structured or how they can build the network themselves. In this article I will show how my network is designed and works, at the logical level. Although I don’t consider my structure to be ideal, it could have been done better, but this is my opinion :) because the truth is “ask 2 providers how to build a network - you will get 3 different options”

Now more about how it works

A typical data network consists of 4 layers, many say 3 but in fact there are 4

Level 1 – network border, i.e. the interface with other operators, also known as the border
At this level, work is usually carried out with the backbone operators from whom we take the Internet and the operators with clients - to whom we give the Internet :) Interaction in 90% of cases is carried out using the dynamic routing protocol BGP

Level 2 is the very core of the network
It includes billing, a radius server, central switches where everything is plugged in, NAT and shapers (with which we cut the bandwidth for the client. You can also cut it on the port of a managed switch - but in this case, local resources will also be at the tariff speed, we also need to provide the tariff speed to the Internet and up to 100 Mbit within your network
Interaction between equipment usually also occurs using dynamic routing protocols such as BGP (In this case, internal BGP or OSPF), but there are also supporters of static routes

Level 3 is the level of distribution, aggregation
This level usually includes managed switches (2nd or 3rd level) of a block or district, depending on the internal structure of the network. In my case, layer 3 switches are installed and sometimes supplemented with a layer 2 switch, because with a VLAN for the home scheme, there is no need to rake up house vlans in the network core 

Level 4 – access level, access, client access point
These are the same house switches that are kept in a box in the basements and attics of houses. Clients are already connecting to them. In the CIS countries, D-Link DES-3526, D-Link 3026 are most often used, and they have slowly started installing D-Link DES-3028; for legal entities, they usually already disdain the long links and install Cisco Catalyst 2950

Now about how it works for me:

1) 1st level device

2 Juniper j4350 hardware are used as border routers, each of which has its own backbone uplink connected, interaction with uplinks occurs using the BGP protocol (that is, we give the uplinks the networks assigned to our AS (autonomous system) and receive from them a complete list of routes in the network Internet (full-view)

2) 2nd level device

At the second level, NATing of clients, shaping of tariff speeds and routing (Internet or peer-to-peer networks) take place.

Two Intel server platforms running FreeBSD are used as NATers and shapers (on each of them NAT and speed cutting are performed and each of them reserves each other). Shaping is carried out using dummynet and tables (tablearg) and nat using pf
Also, internal BGP runs between these routers and the border routers (j4350) so that if one of the borders fails, it will quickly switch to the second and some kind of traffic balancing will also not be superfluous 
The OSPF protocol runs between routers and layer 3 switches for the exchange of intranet and peer-to-peer routes + we announce the default route from the routers to them, i.e. the default route. Router 1 has a metric of 100
Router 2 has a metric of 200, i.e. if one of the routers fails, all packets will go through the backup ones (switching interval is about 10 seconds)

3) level 3 device

With my VLAN scheme for the home, at the distribution level I have to keep layer 3 switches that are responsible for routing home networks and vlans.
IGMP snooping works on the switches, all unnecessary multicast is cut off and broadcasts and NetBIOS ports are cut (tcp/udp 135-139, 445)

4) level 4 device

At the fourth level there are D-Link DES-3526 switches, we plan to install DES-3028, because 4 gigabit ports are very often needed. And according to rumors 3526 is already EOL
Clients connect directly to the switches, loopback detect is enabled on subscriber ports (to disable ports with a loop), the maximum number of mac addresses on a port is 5, igmp snooping is enabled and the entire multicast is filtered except for the ranges 224.200.100.0-224.200.150.255 and 224.0.0.2 , all broadcasts (except for the arp protocol) and the entire NetBIOS are also killed